We now have a service that manages the inventory stock of your small, fictional e-commerce venture. In the next step, we will now implement a first version of the actual checkout service. The checkout service will offer an API for completing a checkout process, using a cart consisting of multiple articles and basic customer contact data.
For this, the checkout service will offer a simple REP ZeroMQ socket (or a ROUTER socket, in a concurrent setup). After receiving a checkout order, the checkout service will then communicate with the inventory service to check if the required items are available and to reduce the stock amount by the item amounts in the cart. If that was successful, it will publish the checkout order on a PUB socket that other services can listen on.
If a cart consists of multiple items, the checkout service will need to make multiple calls to the inventory service. In this example, you will learn how to make multiple requests in...