Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy

Designing Event-Driven Systems

Concepts and Patterns for Streaming Services with Apache Kafka

by Ben Stopford

Designing Event-Driven Systems

Subscribe to new books via dBooks.org telegram channel

Join
DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

Many forces affect software today: larger datasets, geographical disparities, complex company structures, and the growing need to be fast and nimble in the face of change. Proven approaches such as service-oriented and event-driven architectures are joined by newer techniques such as microservices, reactive architectures, DevOps, and stream processing. Many of these patterns are successful by themselves, but as this practical ebook demonstrates, they provide a more holistic and compelling approach when applied together.

Author Ben Stopford explains how service-based architectures and stream processing tools such as Apache Kafka can help you build business-critical systems. You'll learn how to apply patterns including Event Sourcing and CQRS, and how to build multi-team systems with microservices and SOA using patterns such as "inside out databases" and "event streams as a source of truth." These approaches provide a unique foundation for how these large, autonomous service ecosystems can communicate and share data.

- Learn why streaming beats request-response based architectures in complex, contemporary use cases
- Understand why replayable logs such as Kafka provide a backbone for both service communication and shared datasets
- Explore how event collaboration and event sourcing patterns increase safety and recoverability with functional, event-driven approaches
- Build service ecosystems that blend event-driven and request-driven interfaces using a replayable log and Kafka's Streams API
- Scale beyond individual teams into larger, department- and company-sized architectures, using event streams as a source of truth

This open access book is Complimented by Confluent. You can download Designing Event-Driven Systems ebook for free in PDF format (5.4 MB).

Table of Contents

PART I
Setting the Stage
Chapter 1
Introduction
Chapter 2
The Origins of Streaming
Chapter 3
Is Kafka What You Think It Is?
Chapter 4
Beyond Messaging: An Overview of the Kafka Broker
PART II
Designing Event-Driven Systems
Chapter 5
Events: A Basis for Collaboration
Chapter 6
Processing Events with Stateful Functions
Chapter 7
Event Sourcing, CQRS, and Other Stateful Patterns
PART III
Rethinking Architecture at Company Scales
Chapter 8
Sharing Data and Services Across an Organization
Chapter 9
Event Streams as a Shared Source of Truth
Chapter 10
Lean Data
PART IV
Consistency, Concurrency, and Evolution
Chapter 11
Consistency and Concurrency in Event-Driven Systems
Chapter 12
Transactions, but Not as We Know Them
Chapter 13
Evolving Schemas and Data over Time
PART V
Implementing Streaming Services with Kafka
Chapter 14
Kafka Streams and KSQL
Chapter 15
Building Streaming Services

Book Details

Title
Designing Event-Driven Systems
Subject
Computer Science
Publisher
O'Reilly Media
Published
2018
Pages
166
Edition
1
Language
English
ISBN13
9781492038221
ISBN10
1492038229
ISBN13 Digital
9781492038252
ISBN10 Digital
1492038253
PDF Size
5.4 MB
License
Compliments of Confluent

Related Books

Architecture Patterns with Python
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Pytho...
Nuclear Back-end and Transmutation Technology for Waste Disposal
This book covers essential aspects of transmutation technologies, highlighting especially the advances in Japan. The accident at the Fukushima Daiichi Nuclear Power Plant (NPP) has caused us to focus attention on a large amount of spent nuclear fuels stored in NPPs. In addition, public anxiety regarding the treatment and disposal of high-level radi...
The Real-Time APIs
Application Programming Interfaces (APIs) are seemingly everywhere. Thanks to the popularity of web-based products, cloud-based X-as-a-service offerings, and IoT, it is becoming increasingly important for engineers to understand all aspects of APIs, from design, to building, to operation. Research shows that there is increasing demand for near r...
Kafka: The Definitive Guide
Every enterprise application creates data, whether it consists of log messages, metrics, user activity, or outgoing messages. Moving all this data is just as important as the data itself. With this updated edition, application architects, developers, and production engineers new to the Kafka streaming platform will learn how to handle data in motio...
The Human Side of Postmortems
Imagine you had to write a postmortem containing statements like these? - We were unable to resolve the outage as quickly as we would have hoped because our decision making was impacted by extreme stress. - We spent two hours repeatedly applying the fix that worked during the previous outage, only to find out that it made no difference in this on...
Greedy Algorithms
Each chapter comprises a separate study on some optimization problem giving both an introductory look into the theory the problem comes from and some new developments invented by author(s). Usually some elementary knowledge is assumed, yet all the required facts are quoted mostly in examples, remarks or theorems....