Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Adam Bellemare

Rating No ratings yet

Organizations today often struggle to balance business requirements with ever-increasing volumes of data. Additionally, the demand for leveraging large-scale, real-time data is growing rapidly among the most competitive digital industries. Conventional system architectures may not be up to the task. With this practical guide, you’ll learn how to leverage large-scale data usage across the business units in your organization using the principles of event-driven microservices. Author Adam Bellemare takes you through the process of building an event-driven microservice-powered organization. You’ll reconsider how data is produced, accessed, and propagated across your organization. Learn powerful yet simple patterns for unlocking the value of this data. Incorporate event-driven design and architectural principles into your own systems. And completely rethink how your organization delivers value by unlocking near-real-time access to data at scale. You’ll learn: * How to leverage event-driven architectures to deliver exceptional business value * The role of microservices in supporting event-driven designs * Architectural patterns to ensure success both within and between teams in your organization * Application patterns for developing powerful event-driven microservices * Components and tooling required to get your microservice ecosystem off the ground

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A practical guide for architects and engineering leaders who want to move from monolithic or synchronous systems to scalable, event-driven microservices that unlock real-time organizational data—this book shows you how to design, build, and operate such an ecosystem using proven patterns and real-world examples. 【Book Arc】 - **Opening (~0%–9%)**: Introduces the core problem—organizations struggle to balance business needs with growing data volumes—and contrasts the drawbacks of synchronous microservices with the benefits of event-driven designs. It sets up the fundamental shift from point-to-point data access to event streams. - **Early (~9%–25%)**: Dives into domain-driven design and bounded contexts, explaining why aligning these contexts with business requirements (not technology) is critical. It also covers the communication structures that shape engineering implementations and the anti-patterns of shared databases and batch processes. - **Early (~25%–34%)**: Explores the practical decision of whether to create a new service or extend an existing one, highlighting the benefits of event-driven microservices: technological flexibility, loose coupling, continuous delivery support, and high testability. It introduces the concept of topologies—both internal microservice processing logic and the graph-like relationships between services. - **Middle (~34%–47%)**: Focuses on the fundamentals of event-driven microservices, including the immutable log, single source of truth, and the critical role of event data definitions and schemas. It details how schema evolution frameworks (like Avro and Protobuf) and code generators enable safe, compatible changes without breaking downstream consumers. - **Middle (~47%–53%)**: Addresses the complexities of breaking schema changes, explaining why they occur and how to manage their impact on consumers. It also begins to cover the supportive tooling and infrastructure needed to run microservices at scale, such as container management and deployment pipelines. - **Late (~53%–End)**: Covers advanced topics like stateful microservices, testing strategies (including integration testing with temporary environments), and supportive tooling such as schema registries, offset management, and access control lists. The book concludes with practical guidance on building and operating a full event-driven ecosystem. 【Key Takeaways】 - **Event-driven architectures solve data access problems** (Early): Traditional approaches like shared databases, read-only replicas, and batch processes create coupling and multiple sources of truth. Event streams provide a scalable, decoupled way to share data across the organization. - **Bounded contexts should align with business requirements, not technology** (Early): This alignment gives teams autonomy and enables loosely coupled, highly cohesive microservice implementations. It allows for easier reorganization and faster response to changing business needs. - **Event-driven microservices offer key benefits over monoliths** (Early): These include technological flexibility (using the best language for each service), business requirement flexibility, loose coupling on domain data, continuous delivery support, and high testability due to fewer dependencies. - **Schemas are the contracts between producers and consumers** (Middle): Using explicit schemas with evolution frameworks (like Avro or Protobuf) allows safe changes without requiring downstream code changes. Code generators provide compile-time checks and reduce data mishandling risks. - **The immutable log provides a single source of truth** (Middle): Event streams served by an event broker allow multiple consumers to track their progress independently via offsets. This enables stateful processing and materialized views of current state from event history. - **Breaking schema changes require careful management** (Middle): While producers can adapt easily, downstream consumers may be impacted. Proper scoping, comments in schemas, and evolution rules are essential to minimize disruption. - **Stateful microservices are a near-certainty** (Middle): Most business models cannot fit in a purely stateless streaming domain. You need to materialize event streams into current state representations for decisions like stock levels or accounts payable. - **Supportive tooling is essential for scale** (Late): Schema registries, offset management, permissions, and access control lists for event streams are critical components for managing a microservice ecosystem effectively. 【Reading Tips】 - **Skim the early chapters (0–25%)** if you're already familiar with microservices and domain-driven design; focus on the specific event-driven patterns and the discussion of communication structures. - **Deep-read the middle chapters (34–53%)** on schemas and event data definitions—this is the technical core of the book. Pay close attention to the schema evolution workflow and code generator benefits. - **Use the later chapters (53%–End) as a reference** for testing strategies and supportive tooling. The integration testing section with temporary environments is particularly valuable for practical implementation. - **Watch for the "microservice tax"** discussion in the opening chapters—it's a realistic counterpoint to the benefits and helps you evaluate trade-offs. - **Take away the patterns, not just the concepts**: The book provides architectural and application patterns that you can directly apply to your own systems, so note these as you read. 【Coverage Limits】 This guide covers the core concepts, architectural principles, and key technical patterns from the excerpts, but does not include detailed code examples, specific case studies, or the full depth of the testing and tooling chapters.
Page 6
20 2. Event-Driven Microservice Fundamentals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Building Topologies 21 Microservic...
View in text
Page 17
ng-event-driven- microservices. Email bookquestions@oreilly.com to comment or ask technical questions about this book. For news and information about our boo...
View in text
Excerpt 3
cture. A new business requirement is introduced to the team. It’s somewhat related to what their current products do, but it’s also different enough that it...
View in text
Excerpt 4
ssing the population of any given non-null data field. Your code will not compile unless it adheres to the schema, and therefore your application will not be...
View in text
Excerpt 5
data remains consistent between the two. Meanwhile, a sepa‐ rate application thread or process is used to continually poll the outboxes and pro‐ duce the dat...
View in text
Excerpt 6
ces. Recovering from Stateless Processing Instance Failures Recovering from stateless failures is effectively the same as simply adding a new instance to a c...
View in text
Excerpt 7
eat them as such. This is shown in Figure 6-15. Figure 6-15. The producer is able to reconnect and publish its temporarily delayed events, while the consumer...
View in text
Excerpt 8
this is not quite accurate. A microservice may process the same data multiple times, say due to a consumer failure and subsequent recovery, but fail to commi...
View in text
Tags
AI categories
BackendCloud NativeTechnology
ISBN: 1492057894
Publisher: O'Reilly Media
Publish Year: 2020
Language: English
Pages: 324
File Format: PDF
File Size: 10.4 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…