Book Image

Implementing Event-Driven Microservices Architecture in .NET 7

By : Joshua Garverick, Omar Dean McIver
4 (1)
Book Image

Implementing Event-Driven Microservices Architecture in .NET 7

4 (1)
By: Joshua Garverick, Omar Dean McIver

Overview of this book

This book will guide you through various hands-on practical examples for implementing event-driven microservices architecture using C# 11 and .NET 7. It 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, 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 a local environment setup, the containerization of code, testing, deployment, and the observability of microservices using an EDA approach. The third section will guide you through the need for scalability and service resilience within the application, along with implementation details related to elastic and autoscale components. You’ll also cover how proper telemetry helps to automatically drive scaling events. In addition, the topic of observability is revisited using examples of service discovery and microservice inventories. By the end of this book, you’ll be able to identify and catalog domains, events, and bounded contexts to be used for the design and development of a resilient microservices architecture.
Table of Contents (21 chapters)
1
Part 1:Event-Driven Architecture and .NET 7
6
Part 2:Testing and Deploying Microservices
12
Part 3:Testing and Deploying Microservices

Questions

Answer the following questions to test your knowledge of this chapter:

  1. What potential insights can be gained when examining the business perspective behind an application?
  2. Are there other domains that you can identify for the application that are not already listed in the primary domain model?
  3. Are any of the aggregates misrepresented? Or do they contain information that might be irrelevant within the scope of the domain?
  4. How is event sourcing different from using a relational database or NoSQL database to store and retrieve application data?
  5. Is there an advantage to separating read operations from write operations?
  6. What benefits can be gained by separating domain solutions from the overall application solution? Are there potential drawbacks to separating the domain solutions?
  7. What other authentication and authorization mechanisms are available to secure access to reporting data and/or the write services that send data to Kafka?
  8. Is using a standard schema for events, such as CloudEvents, unnecessarily complicating the overall design of the application? Why or why not?
  9. What are some alternative implementations for these services aside from Docker or Kubernetes?