iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0
Software Development

Event driven architecture的奧妙系列 第 25

Day 25 Event Broker的法寶: Nats - CoreNATS

  • 分享至 

  • xImage
  •  

前言

前一篇文章我們初步講了NATS,為甚麼它在Event Broker中這麼重要,今天我們來探討NATS裡的核心概念CoreNATS。

好~ 讓我們開始吧!

NATS的核心功能 - CoreNATS

https://ithelp.ithome.com.tw/upload/images/20241009/20169096RFw6hQgBEJ.jpg

前面有提到NATS是一個開源、高性能的訊息系統,目的在提供簡單可靠的event傳遞機制。
隨著微服務架構的重要性越來越高,對於高效、可擴展的通訊系統的需求也不斷在增加。在這個狀況下,CoreNATS 作為NATS的核心功能,自然扮演著重要角色。在CoreNATS提供了這些功能下,NATS不僅可以做為Event Broker,同時也能當作Message Queue使用。

那什麼是CoreNATS?

CoreNATS是NATS的核心功能,提供了基本的訊息傳遞功能。像是之前說過的Pub-Sub模式,Request-Reply模式等等,這些功能可以讓開發人員輕鬆地處理複雜的分佈式系統。但之所以說它是核心功能,意思是它只有提供比較基本的功能,不包含進階的功能。

Subject-Based Messaging

Subject-Based Messaging是CoreNATS中的一個重要機制,允許發送和接收訊息時可以根據Subject進行分類。
這種方式能讓訊息間的傳遞更加靈活。

https://ithelp.ithome.com.tw/upload/images/20241009/20169096ewDDEKjaw1.jpg

什麼是Subject?

在CoreNATS中,subject為一個字串,這個字串作為訊息的type,publisher將訊息發送到NATS裡的某個subject,subscriber可已透過subscribe這個subject來得到publisher發送的訊息。
subscriber也可以選擇subscribe其他的subject,這樣就不會收到這個訊息。透過這樣的設計可以降低不必要的訊息流動,subscriber只選擇感興趣的subject,而不是每一筆訊息都會收到。

Subject-Based Message的優點

  • 靈活性高:Subscriber可選擇感興趣的subject來subscribe,而不必接收所有的訊息。
  • 擴展性高:隨著使用者需求或系統複雜度的提升,透過增加新的subject,不會影響現有的程式邏輯。

總結

CoreNATS作為NATS中的核心功能,其中Subject-based Messaging是不可或缺的存在,通過subject的方式來管理訊息,並確認哪些訊息是subscriber所需要的。開發人員可以建立靈活性高、可靠性高的系統。

好了~今天先到這邊!!

Reference


上一篇
Day 24 Event Broker的法寶: NATS - 介紹
下一篇
Day 26 - Event Broker的法寶: Nats - CoreNATS (續)
系列文
Event driven architecture的奧妙30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言