Before writing code, let's recall the project requirements for the Treu Technologies stream processing app.
Putting it all together, the specification is to create a stream application that does the following:
- Reads individual messages from a Kafka topic called raw-messages
- Enriches the messages with the geolocalization of the machine's IP address
- Enriches the messages with the weather information of the geolocalization
- Writes the correct events in a Kafka topic called enriched-messages
All these processes are detailed in the following diagram, which is the Treu stream processing application:
Figure 4.4: The processing application reads events from the raw-messages topic, enriches the messages with geolocalization and weather temperature information, and writes to the enriched-messages queue