Currency price enricher
The customer sees BTC price event happens in the customer's web browser and is dispatched to Kafka via an HTTP event collector. The second step is to enrich the messages with the geolocation information. The third step is to enrich the message with the currency price.
Getting ready
Recapitulating, the specification is to create a stream application that does the following:
- Reads individual messages from a Kafka topic called raw-messages
- Validates the messages, sending any invalid messages to a dedicated Kafka topic called invalid-messages
- Enriches the messages with the geolocation information and the currency price
- Writes the enriched messages in a Kafka topic called valid-messages
All this is detailed in the following diagram, which is the final version of the stream processing application:
Figure 4.2: The processing application reads events from the raw-messages topic, validates the messages, routes the errors to the invalid-messages topic, enriches the messages with geolocation...