Say you want to build a chat application. Its core functionality is built on processes triggered by events like sending and receiving texts. So to do that the software layers need to be responsive to these events asynchronously and be able to react and process them across various services. The concept of designing software to handle such cases is known as event-driven architecture.
In such a software, certain components act as event emitters or senders and the other components acts as event receivers or consumers. There would also be intermediary components or agents that rout the flow through event channels or streams among the service components.
Most of the cases, for a full-scale application, the architecture will comprise several microservice and layered components as well.
Comment