IMPLEMENTING EVENT-DRIVEN MICROSERVICES ARCHITECTURE IN .NET 7 : develop event-based distributed apps that can scale with ever-changing business demands using C# 11 and .NET 7 /
Saved in:
Author / Creator: | Garverick, Joshua, author. |
---|---|
Edition: | 1st edition. |
Imprint: | [S.l.] : PACKT PUBLISHING LIMITED, 2023. |
Description: | 1 online resource |
Language: | English |
Subject: | |
Format: | E-Resource Book |
URL for this record: | http://pi.lib.uchicago.edu/1001/cat/bib/13709173 |
Table of Contents:
- Cover
- Title Page
- Copyright and Credits
- Contributors
- About the reviewers
- Table of Contents
- Preface
- Part 1: Event-Driven Architecture and .NET 7
- Chapter 1: The Sample Application
- Technical requirements
- Exploring business drivers and the application
- Reviewing the domain model
- Assessing architectural structures and paradigms
- A high-level logical architecture
- Event sourcing
- Command-Query Responsibility Segregation
- Reviewing the implementation details
- The Visual Studio solution topology
- Identity and Access Management considerations
- Event structure and schema
- Local development and debugging
- New .NET 7 features
- Summary
- Questions
- Further reading
- Chapter 2: The Producer-Consumer Pattern
- Technical requirements
- Examining producers and consumers
- Relating to real-world examples
- Enabling event-driven architectures
- Understanding the adoption curve
- Exploring implementation details in code
- The producer code
- The consumer code
- Event handling
- Reviewing implementation details in infrastructure
- Topics
- Streams and tables
- Aggregate storage
- Summary
- Questions
- Further reading
- Chapter 3: Message Brokers
- Technical requirements
- What is a message broker?
- Queue-based technology
- Cache-based technology
- Stream-based technology
- Inspecting messaging protocols, schemas, and delivery patterns
- Messaging protocols
- Standard and custom schemas
- Message delivery patterns
- Implementing message broker technologies
- Reviewing essential Kafka components
- Enabling resiliency and scalability
- Summary
- Questions
- Further reading
- Chapter 4: Domain Model and Asynchronous Events
- Technical requirements
- Solution structure
- Core library review
- Reviewing domain structures and components
- Equipment
- Station
- Maintenance
- Scheduling
- Notifications
- Passenger
- Identification
- Using asynchronous actions
- Benefits of asynchronous programming
- Asynchronous parallel processing
- Summary
- Questions
- Further reading
- Part 2: Testing and Deploying Microservices
- Chapter 5: Containerization and Local Environment Setup
- Technical requirements
- Reviewing containerization fundamentals
- Development benefits
- Setting up the local environment
- Creating local infrastructure using Docker
- Leveraging GitHub Codespaces and Dev Containers
- Using Dockerfiles to build and run locally
- Sequential versus multi-stage files
- Adding services to the Docker Compose file
- Summary
- Questions
- Further reading
- Chapter 6: Localized Testing and Debugging of Microservices
- Technical requirements
- Configuring orchestration and containers
- Everything as Code (EaC)
- Creating container images
- Debugging in containers
- Debugging individual microservices
- Orchestrating and debugging all services
- Fixing the Debug custom image
- Testing against containers