iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
Software Development

Event driven architecture的奧妙系列 第 16

Day 16 - Event Driven Architecture介紹 - 後篇

  • 分享至 

  • xImage
  •  

前言

昨天我們開始講Event Driven初步的概念,什麼是Event Driven以及Event的定義,今天我們繼續太討Event Driven,並用例子來幫助大家進一步瞭解。

好~讓我們開始吧!

Event Driven Architecture介紹

前一篇我們有講到EDA是一種設計的架構,系統會根據event的發生進行相關的操作,也說明event表示系統中發生的某些變化操作

像是使用者建立一個資料夾,建立資料夾的操作就是一個event

說是這樣說,那用成event的好處是什麼?
我們在舉個例子:

如果是Request Driven Architectue的架構好比你打電話給某人,請求他做某些事情,你會等待他完成這些事並回覆給你,然後雙方掛斷電話,這是之前提過的Synchronous。

Event Driven Architecture的架構就像是你用line或messenger傳訊息出去,但你不知道你送給了誰或是有誰看到這訊息,你不會在意,因為有人完成了就會回傳訊息告知你,你也不用在那邊等待他完成,可以做其他事情,而這就是Asynchsonous

透過Asynchronous的方法,不需要把時間浪費在那裡等待他完成,可以去處理其他事情,等他回覆你告知他完成了,再回去接著繼續下去。

Event Driven元件

講完event driven跟asynchronous的關係,接著講event driven是怎麼組成的,它
主要是由三個元件所組成: producer, subscriber以及event broker。

  • Producer:producer是產生event的conponent。它們的功能是將事件發布到event broker,通常會根據某些動作的觸發。producer可以是應用程式的服務或系統的外部服務,例如使用者操作、或其他系統的訊息
  • Subscriber: subscriber是接收並處理event的conponent。它們事先向event broker訂閱某個topic,表示對topic相關的event感興趣。一旦有符合的event,event broker會將event傳送給相應的subscriber進行處理
  • Event broker: event broker負責接收來自producer的event,並傳遞給有訂閱的subscriber。event broker通常負責event的中介、篩選以及處理複雜的event邏輯。它提供了一個穩定且可靠的機制來管理event的傳遞和處理

總結

今天提到了Event Driven Architecture與Asynchronous的關聯,以及由哪些conponent所組成,之後會一一為各位細講,特別是event broker,我認為是EDA裡的精華所在,會開一系列來講相關概念。
好了~今天就到這邊!!


上一篇
Day 15 - Event Driven Architecture介紹 - 前篇
下一篇
Day 17 - 破除Event Storming是Event Driven的迷思
系列文
Event driven architecture的奧妙30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言