A microservices application consisting of a producer and consumer service, using RabbitMQ for messaging and ClickHouse for data storage.
- Producer Service: Sends JSON messages to RabbitMQ queue.
- Consumer Service: Consumes messages from RabbitMQ and inserts them into ClickHouse database.
- RabbitMQ: Message broker with one queue.
- ClickHouse: OLAP database for storing messages.
- .NET 8 SDK
- Docker
-
Start the services:
docker-compose up -d
-
Run the consumer service:
cd ConsumerService dotnet run -
In another terminal, run the producer service:
cd ProducerService dotnet run
- Check RabbitMQ management UI at http://localhost:15672 (guest/guest)
- Query ClickHouse:
SELECT * FROM default.messages
- .NET 8
- RabbitMQ.Client 7.2.0
- ClickHouse.Driver 0.9.0
- Docker