Despite being a multiplexed streaming protocol, HTTP/2 is still primarily used to make one-shot remote procedure calls to stateless web services. In this session, we'll explore how to upgrade REST APIs to provide granular streams of real-time state changes, driven by Kafka events.
Creating streaming APIs from Kafka topics enables web browsers, and other API clients, to observe real-time changes to individual entities, without having to consume whole topics. HTTP/2 multiplexing enables applications to dynamically subscribe to the real-time state of many entities at once, over a single connection.
After we cover the basics, we’ll compare and contrast streaming APIs with REST APIs, using a simple command line client to illustrate. Then we’ll dive deeper into design patterns and best practices for incorporating streaming APIs into large scale, data intensive streaming applications.
We’ll demonstrate real-time maps that dynamically stream the live state of thousands of real-world entities, while only streaming what’s actually visible on screen at any given time. And we’ll close with a whirlwind tour of UX design patterns that showcase how streaming APIs can create live windows into our worlds—both real and virtual.