iT邦幫忙

2024 iThome 鐵人賽

DAY 18
1
Software Development

Event driven architecture的奧妙系列 第 18

Day 18 - Publish/Subscribe模式

  • 分享至 

  • xImage
  •  

前言

昨天我們幫助小夥伴們理解了Event Storming和Event Driven Architecutre不同的地方,瞭解Event Storming的核心概念,跟它對團隊帶來的種種好處。

今天我們要來講publish/subscribe pattern (pub-sub pattern)

好~我們開始吧!

Pub-Sub模式

https://ithelp.ithome.com.tw/upload/images/20241002/20169096UjheWkVyEF.jpg

Pub-Sub pattern是EDA中常用也是很基本的設計模式之一,在這個模式中,分成Publisher和Subscriber這兩種角色:

  • Publisher: 負責發送event到evetn broker,不在意誰接收與處理event。
  • Subscriber: 訂閱特定的event,當event被publisher發送event時會自動接收並處理。

兩個角色中間會有一個event broker處理publisher與subscriber之間的訊息流通,負責當中介者的角色。
Publisher將event發送到event broker,event broker收到event後會將event分送給所有有訂閱的subscriber。

Pub-Sub流程

對pub-sub有了基本概念之後,接著來講Pub-Sub的運作流程,會分成四步驟:

  1. Subscriber訂閱特定的event: subscriber要先訂閱對特定event
  2. Publisher發送event: 當event發生時,publisher會向event broker發送訊息,告知系統這個event的發生
  3. Event broker分發event: event broker收到event後,它將訊息傳給所有subscribe這個event的subscriber
  4. Subscribe接收並處理event: subscribe收到來自event broker傳過來的event,根據event觸發對應的商業邏輯

Pub-Sub優點

我們接著講pub-sub的優點:

  • 解耦合: publisher與subscriber之間沒有相依性,即使某些subscriber出現問題,publisher一樣能正常運作,subscriber可以隨時增加或刪除,並不會影響到publisher的運行

  • 擴展性佳: 系統可以輕易的擴展,每當使用者開始許願想要新的功能,系統只需要增加相對應的subscribe來處理新的event,不用修改現有的publisher/event broker的邏輯

總結

今天我們講了pub-sub模式的概念、流程以及優點,讓大家對此有個基本了解,明天我們會舉範例進一步說明。

好了~今天就到這邊!!

Reference

發佈/訂閱模式 vs 觀察者模式


上一篇
Day 17 - 破除Event Storming是Event Driven的迷思
下一篇
Day 19 - Publish/Subscribe模式 - 續篇
系列文
Event driven architecture的奧妙30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言