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

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.

主站蜘蛛池模板: 上思县| 隆林| 武隆县| 龙口市| 连平县| 洮南市| 敖汉旗| 汉阴县| 富川| 泌阳县| 靖远县| 青河县| 土默特左旗| 库车县| 霍邱县| 洛浦县| 平利县| 曲麻莱县| 师宗县| 温泉县| 屏山县| 武夷山市| 色达县| 安丘市| 岳阳县| 娄烦县| 龙门县| 慈利县| 兴安县| 乌拉特中旗| 古丈县| 定襄县| 德江县| 潜山县| 西贡区| 丰原市| 清原| 阿尔山市| 峡江县| 郑州市| 昌乐县|