15 Building event-driven applications

 

This chapter covers

  • Understanding event-driven architecture
  • Gaining insight into the streaming platform concept
  • Learning about stream processor integration challenges
  • Starting with Atlas Stream Processing
  • Exploring the Atlas Stream Processing architecture
  • Mastering the $source aggregation pipeline stage

Event-driven applications represent a fundamental shift from the traditional request/response model. In the conventional approach, services are tightly coupled and must request data directly from one another, creating a web of dependencies and introducing latency, as each service must frequently poll the others for updates, often processing data in batches. This method not only slows the system but also makes it difficult to scale or adapt to new business requirements due to the rigid interconnections between services.

By contrast, event-driven architecture decouples these services by enabling them to communicate through events. Instead of polling for data, upstream services immediately notify downstream services whenever new data or events are generated. This real-time event notification system is typically managed through centralized platforms like Apache Kafka and RabbitMQ, which ensure that events are processed in the order in which they occur.

15.1 Understanding event-driven technology

15.2 Examining the concepts of stream processing

15.2.1 Differentiating event time and processing time

15.2.2 Using time windows

15.3 Starting with Atlas Stream Processing

15.4 Exploring Atlas Stream Processing

15.4.1 Discovering Atlas Stream Processing components

15.4.2 Understanding Atlas Stream Processing capabilities

15.5 Structuring a stream processor aggregation pipeline

15.5.1 Taking a deep dive into the $source aggregation stage

15.5.2 Using the stream processor $validate aggregation stage

15.5.3 Viewing all supported aggregation pipeline stages

15.6 Mastering Atlas Stream Processing

15.6.1 Adopting new stream processor methods

15.6.2 Using the Atlas CLI with stream processing

15.6.3 Creating your first stream processor

15.8.4 Auditing events