Purpose of this is to see data journey across the application using multiple messaging / caching technologies.
- ApiCaller.Worker runs in an infinite loop and calls KafkaWriter.Api
- KafkaWriter.Api has a single API endpoint that fans-out some data - Kafka, Redis cache, Redis streams
- KafkaReader.Worker reads data from Kafka
- RedisCacheReader.Worker reads data from Redis cache by key
- RedisStreamReader.Worker reads data from Redis Streams
The app does not plug in to StackExchange.Redis - we miss XREADGROUP and GET redis calls. You cannot set parentId once an Activity is started as discussed here. The RedisCacheService.Get method tries this approach.