Today's more successful companies have realized that in order to maximize operational efficiency and customer experience, they must closely integrate business and technology initiatives. Operational events or changes in business situations are the focus of many companies today. These changes can provide practical and useful information to business leaders, and the purpose of architectural design is to gain insights from information such as customer contacts, transactions, operations, etc. The two complement each other. Traditional technologies have always had many limitations on the speed at which companies can gain insights from events, such as batch ETL (extract, transform, load) used to record, collect and process such events. Event-driven architecture (EDA) is in the ascendant. As a serverless application concept, it has a profound impact on cloud native architecture. When we discuss a specific architecture, the first thing we consider is whether its development is technologically advanced. Here, we will start with the familiar MVC architecture and SOA architecture, and talk about the history and development trends of the message event field. Development trends in the news event field As early as 2018, Gartner's evaluation report listed the Event-Driven Model as one of the top 10 strategic technology trends, and event-driven architecture (EDA) will become the mainstream of microservices in the future, and made the following assertions: By 2022, software models for event notifications will become solutions for more than 60% of new digital businesses; There is no good or bad architecture itself. It is a set of technical decisions that determines all functional development of subsequent projects (framework, coding standards, documentation, processes...). Here we will talk about why certain frameworks are introduced and what problems this framework solves in software development. Monolithic architecture: In a single-node service, all modules of a monolithic application are encapsulated in a single process and communicate through the same stack call. This model easily leads to unclear structures and relationships, making it difficult to change and refactor the system. It's like an opaque, sticky, fragile, and rigid Big Ball of Mud! What is EDA Architecture? After we have discussed all the previous architectural trends, let’s take a look back at what EDA architecture is. EDA Event-Driven Architecture is a system architecture model whose core capability is to discover system "events" or important business moments (such as transaction nodes, site visits, etc.) and take necessary actions on the corresponding events in real time or near real time. This model replaces the traditional "request/response" model, in which the service must wait for a reply before proceeding to the next task. The process of event-driven architecture is run by events. The above diagram actually explains the EDA architecture model very well, but it is not clear enough. So, here we compare it with the monolithic architecture to see the difference between them. In the comparison chart above, we can actually see the difference between it and the traditional architecture. In the general traditional architecture, after the order creation operation occurs, a series of operations are actually completed through a system. The concept of event-driven is to convert all operations into the concept of "events". The downstream decides which system to call to complete what operation by capturing a certain "event". In summary, event-driven actually encapsulates more important business moments into "events" and routes the events to downstream systems through an EventBus. We understand the entire process of EDA architecture, but we have not yet figured out what this so-called "EventBUS" is. The above picture is the core logic architecture of event-driven. Does it look very similar to a traditional MQ? Don't worry, I will talk about the complex part of this architecture below. After talking about EventBus, let's look back at "events". The more important part of the introduction just now is actually to convert operations into a certain type of event for distribution. So how do we define this event? In simple terms, an event is a significant change in state, triggered when a user takes a specific action. Take the example of a 4S store selling a car: When a customer buys a car and its state changes from For Sale to Sold is an event. Regarding events, the Cloud Native Computing Foundation (CNCF) hosted the open source CloudEvents project in 2018. The project aims to describe events in a unified and standardized format to enhance interoperability between different services, platforms, and systems. Under the definition of the project, the general event specification is as follows: Events are mainly composed of Json bodies, which describe the events that occurred through different fields. Practical thinking on the implementation of EDA architecture Before we start introducing the implementation, let's take a look at a classic EDA architecture model: This is a very classic EDA order architecture, which mainly uses EventBridge and FC function computing (if you are not familiar with FaaS, you can regard the FC node as a POD node of ECS or K8s), and drives various businesses to collaborate through events. Therefore, the central node (EventBridge) has three important capabilities: For Event Capturing: Ability to collect events In fact, we can also glimpse some information from the architecture just now. EDA architecture is actually not that simple. So what are its advantages and disadvantages? Below I will briefly list the advantages of EDA architecture in practice: Loose coupling: The event-driven architecture is a highly loosely coupled and highly distributed architecture model. The creator (source) of the event only knows that the event has occurred, but does not know how the event is processed or how many interested parties subscribe to the event. How Alibaba Cloud EventBridge solves the dilemma in EDA scenarios In response to these problems in EDA scenarios, Alibaba Cloud launched EventBridge, a serverless event bus service, whose mission is to serve as the hub of cloud events, connect cloud products and applications, applications and applications with the standardized CloudEvents 1.0 protocol, provide centralized event governance and driving capabilities, and help users easily build loosely coupled, distributed event-driven architectures; in addition, there are a large number of SaaS services in vertical fields in the cloud market outside of Alibaba Cloud. EventBridge will help customers create a complete, event-driven, efficient and controllable cloud experience with its excellent cross-product, cross-organization and cross-cloud integration and integration capabilities. It also provides targeted solutions to the EDA dilemma. Complex architecture: It provides common Source, Buses, Rules, and Targets module management capabilities in the industry, and supports both EventBus and EventStream modes, which greatly reduces the difficulty of event-driven architecture. Routing distribution: EventBridge is driven by event rules, supports 8 major event modes, and 4 converters to meet all the requirements of routing distribution. Unable to track: Exclusively provide event tracking capabilities, event analysis/query capabilities, and improve the overall event chain for users. Poor reliability: Supports DLQ/retry mechanism, which greatly guarantees event failures and delays caused by user downstream systems. At the same time, on this basis, EventBridge supports 82 Alibaba Cloud products and 847 event types. Alibaba Cloud EventBridge More Scenarios 1. Classic EDA event-driven: The most important capability of EventBridge is to build EDA (Event-driven Architectures) event-driven architecture by connecting applications, cloud services, and Serverless services, driving the connection between applications and applications, and applications and the cloud. 2. Streaming ETL scenario: Another core capability of EventBridge is to provide basic filtering and transformation capabilities for streaming data pipelines, perform data synchronization/cross-region backup between different data warehouses, between data processing programs, and between data analysis and processing systems, and connect different systems and different services. 3. Unified event notification service: EventBridge provides a wide range of cloud product event sources and event lifecycle management tools. You can directly monitor the data generated by cloud products through the bus and report it to downstream services such as monitoring and notification. |
<<: 5G FWA is booming: Views from the MBBF2021 5G FWA Industry Forum
2019 is the first year of 5G commercialization. S...
On November 27, the number portability service wa...
The long-awaited 5G technology has finally arrive...
At present, the best domestic access lines for ov...
WiFi Wi-Fi (Wireless Fidelity) is a wireless LAN ...
PacificRack started selling the new Virtualizor p...
[[349454]] 5G will fundamentally change the way o...
Top networking trends for the coming year include...
V5.NET is a business that provides independent se...
After the rapid development in 2020, 2021 is a cr...
[[311668]] [51CTO.com original article] Huawei Cl...
The post-2000s are an emerging generation of cons...
On March 31, Ruijie Networks held its 2017 produc...
Hello everyone, I am the front-end developer. Tod...
HostDare also launched this year's Black Frid...