官术网_书友最值得收藏!

Supporting event-driven architecture

Microservices enable us to develop transparent software systems. Traditional systems communicate with each other through native protocols and hence behave like a black-box application. Business events and system events, unless published explicitly, are hard to understand and analyze. Modern applications require data for business analysis, to understand dynamic system behaviors, and analyze market trends, and they also need to respond to real-time events. Events are useful mechanisms for data extraction.

A well-architected microservice always works with events for both input and output. These events can be tapped by any services. Once extracted, events can be used for a variety of use cases.

For example, businesses want to see the velocity of orders categorized by the product type in real-time. In a monolithic system, we will need to think about how to extract these events, which may impose changes in the system.

The following diagram shows the addition of New Event Aggregation Service without impacting existing services:

In the microservices world, Order Event is already published whenever an order is created. This means that it is just a matter of adding a new service to subscribe to the same topic, extract the event, perform the requested aggregations, and push another event for the dashboard to consume.

主站蜘蛛池模板: 广元市| 蓬莱市| 吉木萨尔县| 钟山县| 乡宁县| 高州市| 达日县| 南宁市| 白城市| 和龙市| 鄄城县| 武汉市| 宝清县| 柳林县| 余姚市| 黄骅市| 汝阳县| 巴青县| 宁化县| 密云县| 调兵山市| 定西市| 调兵山市| 乐至县| 曲阳县| 德兴市| 乃东县| 长垣县| 淮安市| 安阳县| 辽源市| 苍南县| 宜兴市| 昌黎县| 衡阳县| 斗六市| 恩施市| 闽侯县| 石楼县| 霍邱县| 柳州市|