Implement modern design patterns that leverage domain-driven data, to achieve resiliency and scalability for data-dependent applications.
Key Features
- Learn the tenets of event-driven architecture, coupled with reliable design patterns, will enable developers to hone skills that will drive knowledge of distributed systems and build a foundation for professional growth.
- Understand how to translate business goals and drivers into a domain model that can be used to further flesh out an application that enables those goals and drivers.
- Through the architectural design process, identify areas to enhance development and ensure operational support.
Book Description
The book will guide you through various hands-on practical examples for implementing event-driven microservices architecture using C#11 and .Net7. This book has been divided into three distinct sections each focusing on different aspects of this implementation.
The first section will cover the new features of .NET 7 that will make developing applications using EDA patterns easier, as well as the sample application that will be used throughout the book and how the core tenets of Domain-Driven Design (DDD) are implemented in .NET 7
The second section will review the various components of local environment setup, containerization of code, testing, deployment, and observability of microservices utilizing an EDA approach.
The third section examines the needs for scalability and service resilience within the application, along with implementation details related to elastic and autoscale components and how proper telemetry helps to automatically drive scaling events. The topic of observability is revisited using examples of service discovery and microservice inventories.
By the end of the book, you will be able to identify and catalog domains, events, and bounded contexts to be used for the design and development of a resilient microservices architecture.
What you will learn
- Learn about .NET 7 and how it enables the development of applications using EDA
- Understand messaging protocols, producer/consumer patterns, and how to implement them in .NET 7
- Test and deploy applications written in .NET 7 and designed using EDA principles
- Account for scaling and resiliency in microservices
- Collect and learn from telemetry at the platform and application level
Who This Book Is For
This book will help .NET Developers and architects looking to leverage or pivot to microservices while utilizing a domain-driven event model
Table of Contents
- The Sample Application
- The Producer-Consumer Pattern
- Message Brokers
- Domain Model and Asynchronous Design
- Containerization and Local Environment Setup
- Localized Testing and Debugging of Microservices
- Microservice Observability
- CI/CD Pipelines and Integrated Testing
- Fault Injection and Chaos Testing
- Modern Design Patterns for Scalability
- Minimizing Data Loss
- Service and Application Resiliency
- Telemetry Capture and Integration
- Observability Revisited