So far in this chapter, we've seen how we can share information over HTTP by calling other web services. As we've already mentioned, it is important to not replicate information between services and, more importantly, that each service must be the owner of a single data source, which needs to be as isolated as possible. Another technique we can use to share information is pushing data using events. In this section, we will begin by examining one use case that is suitable for an event bus.
Let's suppose that one of the catalog items reaches an available stock amount of zero and enters the sold-out state. We need to propagate this information and tell the cart service that this specific item is sold out. This use case can be implemented using an event bus.
To understand this architecture, take a look at the following schema:
The...