iT邦幫忙

2022 iThome 鐵人賽

1
Software Development

Microsoft Orleans雲原生開發框架從小白到大神系列 第 31

[31]---Orleans常見系統架構模式:Dispatch Pattern及其應用範例

  • 分享至 

  • xImage
  •  

Dispatch Pattern 介紹

Dispatch Pattern是一種 Orleans 的架構Pattern,利用Orleans Grain被Client端RPC呼叫後,RPC實作內部可以再次呼叫其他Grain的RPC方法之特性。這種模式可以用來實作一些接收外部輸入資料後,需要進行一些預處理,後端才能消化的系統架構。

如上圖,Client端呼叫Dispatcher Grain的RPC方法以便輸入初始的Raw Data,Dispatcher Grain會將Client端傳入的資料進行預處理,或是暫存起來(當把Dispatcher grain做為buffer用途時),然後在Dispatcher grain內呼叫Target Grain的RPC方法傳送整理好的資料給Target Grain,Target Grain再將資料進行商業邏輯的運算處理。

在Dispatcher grain裡,可以根據一些自行定義的條件來決定要呼叫哪一個Target Grain來給予資料,以便進行不同的商業邏輯運算。

使用 Dispatcher Pattern的好處是將外部輸入和內部商業邏輯層多隔出一層Dispatcher層,這樣可以讓Client端的程式呼叫API需求和後端的實際邏輯運算/資料儲存層分離,讓後端的實作可以更容易的進行重構或擴充,也可讓Client端的程式更容易依照使用者體驗的介面需求進行開發。

套用Dispatcher Pattern也能讓系統未來的規模發展達到類似 BFF(Behind Frontend Framework) Pattern 的架構概念,讓後端的實際業務Grain可在不同用途的Dispatcher呼叫時重複使用,或將資料讀寫分離等等的後續系統需求。

Dispatch Pattern 應用範例

以下用一個網頁投票範例,來說明如何使用Dispatcher Pattern來實作投票系統


上一篇
[30]---Orleans常見系統架構模式:Smart Cache Pattern及其應用範例
下一篇
[32]---Orleans常見系統架構模式:Cadence Pattern及其應用範例
系列文
Microsoft Orleans雲原生開發框架從小白到大神39
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言