Implementing an asynchronous transaction microservice
We will use the same transaction microservice we implemented in Chapter 6 but with additional changes that will help us add asynchronous behavior to it. First, we should prepare our infrastructure. Here is what we will have in it:
- Apache Kafka: To create loose coupling between microservices.
- Kafka UI: This is a web application designed for managing Apache Kafka clusters. It provides a graphical user interface (GUI) instead of the traditional command-line interface (CLI) for Kafka, making it easier to interact with Kafka for many users.
- Zookeeper: This is open source software that acts as a central coordinator for large distributed systems. Think of it as a conductor for an orchestra, keeping everything in sync.
- PostgreSQL: To store data.
- PgAdmin: A graphical tool to visually see database elements.
We have our docker-compose.yml
file in our root folder (Ch07/transactionservice
).
This docker-compose...