Session Type
Breakout Session
Name
Transforming APIs into an event source with Kafka Streams
Date
Wednesday, March 19, 2025
Time
3:00 PM - 3:45 PM
Location Name
Convention Hall
Description

REST-based Request-response APIs are the lifeblood of most architectures. API transactions, specifically involving the CUDs (Creates, Updates, Deletes) are great sources of events and/or change data. This is also true of various RPC style APIs. However, because of the client-server nature, such events need to be published by the service, using an "outboxing" mechanism and subsequently disseminated to pub-sub event broker, most often Apache Kafka. This involves code changes to the application and in addition, a more expansive solution like CDC (change-data-capture) to collect those changes from the outbox table. In this session, we will present an alternative pattern that leverages standard API proxies / gateway solutions to process and push events to Kafka, as they occur in the API data plane at real-time. We will address the following important questions during this Show Me How session:

1. How to source event data from APIs (and API gateways) such as Kong and Istio

2. How to synthesize event data into the desired form using Kafka Streams

3. How to source change feeds against aggregates using Kafka Streams state stores

4. Considerations and tradeoffs for this architecture

5. Key use-cases (hint:Event Sourcing, Data exchange Audit-trails and more!)

This is a potential no-code alternative to CDC, but with added benefits such as broad access to domain and context-specific request-response data, as opposed to having to process multiple row-level changes. Finally, this also enables treating eventing as a cross-cutting concern associated with API management and operations. Attendees can expect to take away a new and interesting approach towards a progressive, low-friction transition to an event-driven architecture

Avinash Upadhyaya
Level
Intermediate
Target Audience
Architect, Developer, Executive (Technical)
Industry
Banking/Finance, Government, Telecommunications