軟體架構 事件驅動架構

2022-05-02 16:00:10 字數 569 閱讀 4835

事件(event)就是狀態的顯著變化,比如說前面提到的客戶下單被執行。從**來分,事件可以分為系統內部事件和外部事件。從型別來分,可以分為業務事件和系統事件。

事件驅動架構(event driven architecture,eda)乙個事件驅動框架(eda)定義了乙個設計和實現乙個應用系統的方法學,在這個系統裡事件可傳輸於鬆散耦合的元件和服務之間。乙個事件驅動系統典型地由事件消費者和事件產生者組成。事件消費者向事件管理器訂閱事件,事件產生者向事件管理器發布事件。當事件管理器從事件產生者那接收到乙個事件時,事件管理把這個事件轉送給相應的事件消費者。如果這個事件消費者是不可用的,事件管理者將保留這個事件,一段間隔之後再次轉送該事件消費者。這種事件傳送方法在基於訊息的系統裡就是:儲存(store)和轉送(forward)。

說到底事件驅動架構就是通過事件進行通訊的軟體架構。

它分成四個部分。

對於簡單的專案,事件佇列、分發器和事件通道,可以合為一體,整個軟體就分成事件**和事件處理器兩部分。

優點缺點

事件驅動架構要點

設計元件 領域事件定義 domainevent 領域模型支援領域事件處理 domain 事件池 eventrepository persistence 事件分發 eventdispatcher 事件處理器 領域模型 event processor domain 事件同步處理 等待超時控制 如何在超時...

EDA事件驅動架構

事件代表過去發生的事件,事件既是技術架構概念,也是業務概念。以事件為驅動的程式設計模型稱為事件驅動架構eda。eda是一種以事件為媒介,實現元件或服務之間最大松耦合的方式。傳統面向介面程式設計是以介面為媒介,實現呼叫介面者和介面實現者之間的解耦,但是這種解耦程度不是很高,如果介面發生變化,雙方 都需...

EDA事件驅動架構

事件驅動架構應該說是一種非常流行的分布式架構模式,他的經常會被用在構建乙個可伸縮性的應用上,當然小型系統也同樣適用。node用來表示乙個節點,每個節點負責處理業務邏輯,event表示這個節點處理完後產生的訊息,通過通過訊息中介軟體傳遞給另外乙個node。他不同於傳統的soa架構,rpc呼叫的方式,他...