Book description
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
Publisher resources
Table of contents
- Preface
- 1. Why Event-Driven Microservices
-
2. Event-Driven Microservice Fundamentals
- Building Topologies
- The Contents of an Event
- The Structure of an Event
- Materializing State from Entity Events
- Event Data Definitions and Schemas
- Microservice Single Writer Principle
- Powering Microservices with the Event Broker
- Event Brokers Versus Message Brokers
- Managing Microservices at Scale
- Paying the Microservice Tax
- Summary
- 3. Communication and Data Contracts
-
4. Integrating Event-Driven Architectures with Existing Systems
- What Is Data Liberation?
- Data Liberation Patterns
- Data Liberation Frameworks
- Liberating Data by Query
- Liberating Data Using Change-Data Capture Logs
- Liberating Data Using Outbox Tables
- Making Data Definition Changes to Data Sets Under Capture
- Sinking Event Data to Data Stores
- The Impacts of Sinking and Sourcing on a Business
- Summary
- 5. Event-Driven Processing Basics
-
6. Deterministic Stream Processing
- Determinism with Event-Driven Workflows
- Timestamps
- Event Scheduling and Deterministic Processing
- Watermarks
- Stream Time
- Out-of-Order and Late-Arriving Events
- Handling Late Events
- Reprocessing Versus Processing in Near-Real Time
- Intermittent Failures and Late Events
- Producer/Event Broker Connectivity Issues
- Summary and Further Reading
- 7. Stateful Streaming
- 8. Building Workflows with Microservices
-
9. Microservices Using Function-as-a-Service
- Designing Function-Based Solutions as Microservices
- Choosing a FaaS Provider
- Building Microservices Out of Functions
- Cold Start and Warm Starts
- Starting Functions with Triggers
- Performing Business Work with Functions
- Maintaining State
- Functions Calling Other Functions
- Termination and Shutdown
- Tuning Your Functions
- Scaling Your FaaS Solutions
- Summary
- 10. Basic Producer and Consumer Microservices
-
11. Heavyweight Framework Microservices
- A Brief History of Heavyweight Frameworks
- The Inner Workings of Heavyweight Frameworks
- Benefits and Limitations
- Cluster Setup Options and Execution Modes
- Application Submission Modes
- Handling State and Using Checkpoints
- Scaling Applications and Handling Event Stream Partitions
- Recovering from Failures
- Multitenancy Considerations
- Languages and Syntax
- Choosing a Framework
- Example: Session Windowing of Clicks and Views
- Summary
- 12. Lightweight Framework Microservices
-
13. Integrating Event-Driven and
Request-Response Microservices
- Handling External Events
- Handling Autonomously Generated Analytical Events
- Integrating with Third-Party Request-Response APIs
- Processing and Serving Stateful Data
- Handling Requests Within an Event-Driven Workflow
- Micro-Frontends in Request-Response Applications
- The Benefits of Microfrontends
- Drawbacks of Microfrontends
- Summary
-
14. Supportive Tooling
- Microservice-to-Team Assignment System
- Event Stream Creation and Modification
- Event Stream Metadata Tagging
- Quotas
- Schema Registry
- Schema Creation and Modification Notifications
- Offset Management
- Permissions and Access Control Lists for Event Streams
- State Management and Application Reset
- Consumer Offset Lag Monitoring
- Streamlined Microservice Creation Process
- Container Management Controls
- Cluster Creation and Management
- Dependency Tracking and Topology Visualization
- Summary
- 15. Testing Event-Driven Microservices
- 16. Deploying Event-Driven Microservices
- 17. Conclusion
- Index
Product information
- Title: Building Event-Driven Microservices
- Author(s):
- Release date: July 2020
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781492057895
You might also like
book
Monolith to Microservices
How do you detangle a monolithic system and migrate it to a microservice architecture? How do …
book
Building Microservices
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications …
video
Event-Driven Microservices
Software developers and architects increasingly turn to microservices as a framework for improving the agility and …
book
Microservices Patterns
Microservices Patterns teaches enterprise developers and architects how to build applications with the microservice architecture. Rather …