Project consisting of several microservices communicating using an asynchronous event bus
+-------------------+
| |
| Message-broker |
| |
+------+-----+------+
^ |
+-----------+ +------------+
| Publish Consume |
| |
| v
+---------+------------+ +---------+------------+
| | | |
| User-service | | Notification-service |
| | | |
+----------------------+ +----------------------+
It can be run using different message brokers
- Start docker
- run docker-compose up -d
- Start both projects:
- Run UserApplication.kt
- Run NotificationApplication.kt
- To run Rabbit as broker:
- Open UserApplication.kt and create RabbitPublisher/KafkaPublisher
- Open NotificationApplication.kt and use userRabbit()/useKafka()
- Post to localhost:8080/users , body: username
- Notifications service will send the notifications (print in console the user name)