0%

Book Description

Organizations today often struggle when trying to balance business requirements with ever-increasing volumes of data. Yet the need to take advantage of real-time data continues to grow 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 a complete microservice-powered organization. You’ll reconsider how data is produced, accessed, and used across your organization. Discover 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 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 design
  • Architectural patterns to ensure success both within and between teams in your organization
  • Application patterns for developing powerful event-driven microservices

Table of Contents

  1. 1. Why Event-Driven Microservices
    1. Introduction
    2. What are event-driven microservices?
    3. Introduction to Domain-Driven Design and Bounded Contexts
      1. Leveraging Domain Models and Bounded Contexts
      2. Aligning Bounded Contexts with Business Requirements
    4. Communication Structures
      1. Business Communication Structures
      2. Implementation Communication Structures
      3. Data Communication Structures
      4. Summary of Communication Structures
    5. Communication Systems in Traditional Computing
      1. Option 1: Make a New Service
      2. Option 2: Add it to the existing service
      3. Choices
      4. But Why?
      5. Team, Continued:
      6. Conflicting Pressures
    6. Event-Driven Communication Structures
      1. Events are the basis of communication
      2. Event Streams provide the Single Source of Truth
      3. Consumers perform their own Modelling and Querying
      4. Improved Data Communication across the Organization
      5. Supports Business Communication Changes
    7. Asynchronous Event-Driven Microservices
      1. Example Team, Revisited, Using Event-Driven Microservices
    8. Synchronous Microservices
      1. Why Synchronous Doesn’t Scale
      2. The Benefits of Synchronous Microservices
    9. Summary TODO
  2. 2. Event Driven Microservice Fundamentals
    1. Introduction
    2. Building Topologies
    3. The Contents of an Event
    4. The Structure of an event
      1. Unkeyed Event
      2. Keyed Event
      3. Entity Event
    5. Building State from Entity Events
    6. Event Data Definitions and Schemas
    7. Microservice Single Writer Principle
    8. Powering Microservices with the Event Broker
      1. Event Storage and Serving
      2. Additional Factors to Consider
    9. Event Brokers vs. Message Brokers
      1. Consuming from the Immutable Log
      2. Providing a Single Source of Truth
    10. Managing Microservices at Scale
      1. Putting Microservices into Containers
      2. Putting Microservices into Virtual Machines
      3. Managing Containers and Virtual Machines
    11. Summary
  3. 3. Communication and Data Contracts
    1. Introduction
    2. Event Driven Data Contracts
      1. Using Explicit Schemas as Contracts
      2. Schema Definition Comments
      3. Full Featured Schema Evolution
      4. Code Generator Support
    3. Selecting an Event Format
    4. Designing Events
      1. The truth, the whole truth, and nothing but the truth
      2. Use a singular event definition per stream
      3. Use the narrowest data types
      4. Keep Events Singular Purpose
      5. Minimize the size of events
      6. Involve Prospective Consumers in the Event Design
      7. Avoid events as semaphores or signals
    5. Summary
  4. 4. Integrating Event-Driven Architectures with Existing Systems
    1. Introduction
    2. What is Data Liberation?
      1. Compromises for Data Liberation
      2. Converting Liberated Data to Events
    3. Data liberation patterns
      1. Liberating data by Query
      2. Liberating data with Change-Data Capture Logs
      3. Output via Change-Data Tables
      4. Making Data Definition Changes to Datasets Under Capture
    4. Sinking Event Data to Data Stores
    5. The impacts of Sinking and Sourcing on a business
18.218.129.100