Apache Kafka has grown a lot in functionality and reach in last couple of years. It’s used in production by one third of the Fortune 500, including seven of the top 10 global banks, eight of the top 10 insurance companies, and nine of the top 10 U.S. telecom companies.
- Imagine you run a travel website. The price of hotels and flights keeps changing all the time. A few components of your system (price alerts, analytics) need to be informed of these changes. You post the changes on Kafka topics, and each component that needs to be notified acts as a subscriber. All nodes of a single subscriber system form a single consumer group. A given message is sent to only one node in the consumer group. This way each component gets the copy of the message, plus work gets effectively divided inside each component.
- Website activity (page views, searches, or other actions users may take) can be tracked and analysed through Kafka. In fact, this was the original use case for which Kafka was invented at LinkedIn. Website activities are published to central topics with one topic per activity type. The feed can be processed in real time to gain insights into user engagement, drop-offs, page flows, and so on.
- Imagine you have location data coming in from GPS beacons or smartphone devices, and you want to process it in real time to show vehicle path, distance traveled, and so on. Incoming data can be published on Kafka topics and processed with Stream API. Stateful processing with windowing comes in handy when you need to extract and process all location data of a given user for a certain period of time.
This article originally appeared on blog.amirathi.com. To read the full article, click here.