Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Scalable Data Architecture with Java

You're reading from   Scalable Data Architecture with Java Build efficient enterprise-grade data architecting solutions using Java

Arrow left icon
Product type Paperback
Published in Sep 2022
Publisher Packt
ISBN-13 9781801073080
Length 382 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Sinchan Banerjee Sinchan Banerjee
Author Profile Icon Sinchan Banerjee
Sinchan Banerjee
Arrow right icon
View More author details
Toc

Table of Contents (19) Chapters Close

Preface 1. Section 1 – Foundation of Data Systems
2. Chapter 1: Basics of Modern Data Architecture FREE CHAPTER 3. Chapter 2: Data Storage and Databases 4. Chapter 3: Identifying the Right Data Platform 5. Section 2 – Building Data Processing Pipelines
6. Chapter 4: ETL Data Load – A Batch-Based Solution to Ingesting Data in a Data Warehouse 7. Chapter 5: Architecting a Batch Processing Pipeline 8. Chapter 6: Architecting a Real-Time Processing Pipeline 9. Chapter 7: Core Architectural Design Patterns 10. Chapter 8: Enabling Data Security and Governance 11. Section 3 – Enabling Data as a Service
12. Chapter 9: Exposing MongoDB Data as a Service 13. Chapter 10: Federated and Scalable DaaS with GraphQL 14. Section 4 – Choosing Suitable Data Architecture
15. Chapter 11: Measuring Performance and Benchmarking Your Applications 16. Chapter 12: Evaluating, Recommending, and Presenting Your Solutions 17. Index 18. Other Books You May Enjoy

Core stream processing patterns

In the previous section, we learned about a few commonly used batch processing patterns. In this section, we will discuss various stream processing patterns. Let’s get started.

The outbox pattern

With modern data engineering, monolithic applications have been replaced by a series of microservices application working in tandem. Also, it is worth noting that microservices usually don’t share their databases with other microservices. The database session commits and interservice communications should be atomic and in real time to avoid inconsistencies and bugs. Here, the outbox pattern comes in handy. The following diagram shows the generic architecture of the outbox pattern:

Figure 7.7 – The outbox pattern

As we can see, a microservice (here, Service 1) writes a transaction to not only the required table where online reads and writes happen (denoted in the diagram as Online Table) but also to an Outbox...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image