Muutke küpsiste eelistusi

E-raamat: Pro Microservices in .NET 6: With Examples Using ASP.NET Core 6, MassTransit, and Kubernetes

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 01-Jan-2022
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484278338
Teised raamatud teemal:
  • Formaat - EPUB+DRM
  • Hind: 67,91 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 01-Jan-2022
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484278338
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Know the fundamentals of creating and deploying microservices using .NET 6 and gain insight from prescriptive guidance in this book on the when and why to incorporate them.

The microservices architecture is a way of distributing process workloads to independent applications. This distribution allows for the independent applications to scale and evolve separately. It also enables developers to dismantle large applications into smaller, easier-to-maintain, scalable parts. While the return is valuable and the concept straightforward, applying it to an application is far more complicated. Where do you start? How do you find the optimal dividing point for your app, and strategically, how should your app be parceled out into separate services?

Pro Microservices in .NET 6 will introduce you to all that and more. The authors get you started with an overview of microservices, .NET 6, event storming, and domain-driven design. You will use that foundational information to build a reference application throughout the book. From there, you will create your first microservice using .NET 6 that you can deploy into Docker and Azure Kubernetes Service. You will also learn about communication styles, decentralizing data, and testing microservices. Finally, you will learn about logging, metrics, tracing, and use that information for debugging.


What You Will Learn

  • Build a foundation of basic microservices architecture design
  • Follow an example of using event storming and domain-driven design to understand the monolithic application modified for microservices
  • Understand, via detailed commands, how Docker is used to containerize applications
  • Get an overview of creating microservices from a monolithic application
  • Call microservices using RPC and messaging communication styles with MassTransit
  • Comprehend decentralizing data and handling distributed transactions
  • Use Azure Kubernetes Service to host and scale your microservices
  • Know the methods to make your microservices more robust
  • Discover testing techniques for RPC and messaging communication styles
  • Apply the applications you build for actual use
  • Practice cross-cutting concerns such as logging, metrics, and tracing


Who This Book Is For

Developers and software architects. Readers should have basic familiarity with Visual Studio and experience with .NET, ASP.NET Core, and C#.



Intermediate-Advanced user level
About the Authors xiii
About the Technical Reviewer xv
Acknowledgments xvii
Foreword xix
Introduction xxi
Chapter 1 Introducing Microservices
1(28)
Benefits
2(5)
Team Autonomy
3(1)
Service Autonomy
3(1)
Scalability
4(1)
Fault Isolation
5(2)
Data Autonomy
7(1)
Challenges to Consider
7(1)
Microservice Beginning
8(2)
Architecture Comparison
10(2)
Microservice Patterns
12(2)
API Gateway/BFF
12(2)
External Configuration Store
14(1)
Messaging
14(4)
Business Process Communication
15(2)
Message Format
17(1)
Transport
17(1)
Testing
18(3)
Test Pyramid
18(1)
E to E
19(1)
Service
19(1)
Unit Tests
20(1)
Automation
20(1)
Deploying Microservices
21(2)
Versioning
21(1)
Containers
21(1)
Pipelines
22(1)
Cross-Cutting Concerns
23(4)
Monitoring
23(1)
Logging
24(1)
Alerting
25(1)
Testing the Architecture
25(2)
Summary
27(2)
Chapter 2 ASP.NET Core Overview
29(22)
A Brief History of .NET
29(3)
Long-Term Support
31(1)
Presentation Frameworks
31(1)
Installing Requirements
32(5)
Installing .NET 6.0 and ASP.NET Core
32(3)
Installing Visual Studio
35(1)
Installing Visual Studio Code
36(1)
.NET 6.0 at a Glance
37(1)
MVC at a Glance
38(6)
Routing
39(2)
Controller
41(1)
View
41(1)
Model
42(1)
ASP.NET Core Middleware
43(1)
ASP.NET Core Web API
44(2)
Razor Pages
46(2)
Minimal APIs
48(1)
Summary
49(2)
Chapter 3 Searching for Microservices
51(18)
The Business
51(1)
Domain-Driven Design
52(5)
Domain
52(1)
Subdomains
53(1)
Ubiquitous Language
54(1)
Bounded Contexts
54(1)
Aggregates and Aggregate Roots
55(2)
Event Storming
57(3)
Setup
58(1)
Color Coding
58(2)
The Meeting
60(3)
Seeing the Domains
63(1)
Domain Models
64(1)
Focus on Behavior
65(1)
Domain Modelling
65(1)
Decomposition
65(1)
Becoming a Microservice
66(1)
Summary
67(2)
Chapter 4 First Microservice
69(36)
Interprocess Communication
69(1)
API First Design
70(1)
Transport Mechanisms
71(2)
Rest
71(1)
GRPC
72(1)
File -- New -- Project
73(3)
Contacting Google's Distance API
76(5)
App Settings
76(1)
New Class Library
77(4)
Map Info Controller
81(7)
Testing What We Have
83(3)
Swagger
86(2)
Leveraging gRPC
88(9)
Incorporating gRPC
89(5)
Testing gRPC Endpoint
94(3)
Modify the Monolith
97(5)
Service Discovery
102(1)
Summary
103(2)
Chapter 5 Microservice Messaging
105(32)
Issues with Synchronous Communication
105(1)
Limits of RPC
106(1)
Messaging
106(1)
Architecture
107(3)
Reasons to Use Messaging
107(1)
Message Types
108(2)
Message Routing
110(1)
Broker-less
110(1)
Brokered
110(1)
Consumption Models
111(2)
Competing Consumers
111(1)
Independent Consumers
112(1)
Delivery Guarantees
113(2)
At Most Once
114(1)
At Least Once
114(1)
Once and Only Once
115(1)
Message Ordering
115(1)
Building the Examples
116(1)
Building the Messaging Microservices
117(1)
Running RabbitMQ
117(1)
First Project
118(2)
Building the Invoice Microservice
120(3)
Building the Payment Microservice
123(3)
Building a Test Client
126(5)
Testing What We Have
131(1)
Play-by-Play Explanation
132(1)
Drawbacks of Messaging
133(1)
Summary
134(3)
Chapter 6 Decentralizing Data
137(34)
Current State
137(1)
The Rule
138(1)
Database Choices
139(1)
Availability
139(2)
Sharing Data
141(3)
Duplicate Data
142(2)
Transactional Consistency
144(8)
CAP Theorem
145(1)
Transactions Across Microservices
146(1)
Sagas
147(5)
CQRS
152(2)
Event Sourcing
154(5)
Scenarios
158(1)
Eventual Consistency
159(2)
Data Warehouse
161(1)
Materialized View
162(1)
Splitting the Monolith
163(3)
Moving Code
164(2)
Strangler Pattern
166(1)
Feature Flags
166(1)
Splitting the Database
166(3)
Summary
169(2)
Chapter 7 Testing Microservices
171(38)
Cost of Errors
171(1)
What Not to Test
172(1)
What to Test
172(3)
Code
173(1)
Performance
173(1)
System Failure Handling
174(1)
Security
174(1)
Testing Levels
175(5)
Unit Testing
176(1)
Integration Testing
176(1)
Component Testing
177(2)
Contract Testing
179(1)
Service Testing
180(1)
End-to-End Testing
180(1)
Consumer-Driven Contract Testing Deep Dive
180(17)
Consumer Project
181(2)
Consumer Test Project
183(6)
Provider Project
189(3)
Provider Test Project
192(5)
Testing Messaging-Based Microservices
197(10)
Testing Consumer Messaging
198(4)
Testing Producer Messaging
202(5)
Summary
207(2)
Chapter 8 Containerization
209(36)
Why Containers?
209(3)
It Works on My Machine!
209(1)
Onboarding
210(1)
Microservices
211(1)
What Is Docker?
212(1)
Installing Docker
213(4)
Docker Basics
217(5)
Docker run
217(2)
Docker stop
219(1)
Docker start
220(1)
Docker ps
220(1)
Docker images
221(1)
Docker inspect
222(1)
Docker rm and rmi
222(1)
Microservices and Docker
222(8)
Adding Docker Support
223(1)
Create ASP.NET Image
223(1)
Use Docker-Compose
224(3)
Push to Docker Hub
227(1)
Build an Image
227(1)
Docker push
228(2)
Kubernetes
230(2)
Kubernetes on Azure: AKS
232(12)
Azure Portal
233(3)
Azure CLI
236(1)
Connect to the Cluster
237(1)
Define Kubernetes Objects
238(3)
Deploy to the Cluster
241(2)
Deploying Databases
243(1)
Summary
244(1)
Chapter 9 Healthy Microservices
245(48)
Is It Healthy?
245(1)
Where Do We Look?
246(1)
Logging
247(10)
Logging with ASP.NET Core and Serilog
247(9)
Avoiding "God" Classes
256(1)
Metrics
257(14)
Prometheus and Grafana
258(8)
ASP.NET Prometheus Sink
266(5)
Tracing
271(16)
About OpenTelemetry
272(1)
Add OpenTelemetry to .NET
272(8)
Visualize Tracing Trees in Jaeger
280(7)
Effective Monitoring
287(2)
Debugging with Logs
289(3)
Summary
292(1)
Index 293
Sean Whitesell is a Microsoft MVP and cloud architect at TokenEx, where he designs cloud-based architectural solutions for hosting internal services for TokenEx. He serves as President of the Tulsa Developers Association. He regularly presents in the community at developer events, conferences, and local MeetUps.





Rob Richardson is a software craftsman, building web properties in ASP.NET and Node, React, and Vue. He is a Microsoft MVP, published author, frequent speaker at conferences, user groups, and community events, and a diligent teacher and student of high-quality software development. You can find his recent work at robrich.org/presentations.





Matthew D. Groves is a Microsoft MVP who loves to code. From C# to jQuery, or PHP, he will submit pull requests for anything. He got his start writing a QuickBASIC point-of-sale app for his parent's pizza shop back in the 1990s. Currently a Product Marketing Manager for Couchbase, heis the author of the book AOP in .NET, and the video Creating and Managing Your First Couchbase Cluster.