共享消息服務中心解決方案

6 評論 15771 瀏覽 139 收藏 10 分鐘

消息服務中心是業務系統中比較重要的一項功能,在各應用系統獨立設計消息管理的時候,會出現維護成本高、資源復用率低、靈活性差等問題,于是筆者結合需求以及產品目標對消息服務中心的結構做出調整。

一、背景

消息是業務系統中常見的一種功能,但因為前期沒有做統一的產品規劃,沒有考慮功能的復用性,各系統按各自的需求進行設計,各自管理系統消息。

圖1:應用系統消息推送現狀

各應用系統獨立設計消息管理,主要遇到了以下問題:

1. 緊耦合

各應用系統與消息通道之間點對點對接,當某消息通道發生改變,所有與其連接的應用系統都需改變,靈活性差。

2. 可擴展和可維護性差

當需要增加一種新的消息發送類型,各應用系統都需要增加相應的對接方案,工作量倍增,后期維護成本也更高。

3. 資源復用率低

各應用系統單獨設計和對接消息通道,后期新應用系統接入時,消息功能可復用性低,造成企業人力和資金成本的高度浪費。

為了有效解決以上問題,為了能更好的將消息通用性功能做成可復用的,將共享消息服務建成一個中臺,用于支持各業務系統對此類服務的統一調用,是解決企業內多系統消息管理的有效辦法;

二、需求

目前企業內部主要的應用系統群包含:業務系統(如:TMS、OMS、WMS等)和企業內部管理系統(OA、NC等)。

消息服務中臺化將改變原應用在消息接收、發送、監控等方面的機制,了解并滿足業務需求是提供解決方案的前提。

  • 及時響應:各應用系統統一向消息中心發出請求,消息中心需及時響應;
  • 準確、高效發送:根據各應用系統的指令,在準確的時間點將準確的消息內容以相應的通道發送至相應的人員,并確保無漏發或重發;
  • 消息監控:能夠查詢到哪些應用系統下發了消息指令,消息發送情況、消息接收情況等;
  • 消息配置:能滿足各應用系統消息配置需求;
  • 其它業務需求:能滿足消息業務完整閉環流程,包括:消息創建、消息發送、消息接收、消息監控等等。

三、解決方案

1. 目標

實現系統群的共享:共享消息服務是針對應用系統群提出的解決辦法,實現系統群對該服務的共享。

  • 可復用:能夠支持各應用系統群的需求;即共享消息服務提供的功能具有通用性,同時具有一定的個性化。
  • 可拓展:能基于現有的產品進行拓展或者配置。
  • 可視化:可全面展示消息在各應用系統中的使用情況。
  • 讓用戶更容易獲得消息

無論是哪個獨立系統,用戶都能根據其業務需求,高效、安全、準確的獲得相應的消息。

2. 產品結構

通過對需求的分析,并結合當前企業內應用系統架構所遇到的實際問題;我們引入消息服務中心,來降低應用系統間的耦合,通過消息服務中心實現消息創建、消息推送、消息監控等核心通用機制,提供系統的可擴展性、可維護性和可用性。

消息服務中心的整體產品架構圖如下:

圖2:消息服務中心產品結構圖

從消息服務中心的整體結構中,主要分為三層:

(1)核心功能層

主要包括了消息創建、消息推送、消息配置、消息日志、消息監控、消息任務調度等功能,核心功能層涵蓋了各應用系統通用的組件。

(2)功能接口層

功能接口層以統一的標準提供給需要發送消息的應用系統,例如:創建消息任務、查詢消息、更新消息、取消消息等。

通過標準的功能服務接口,需要發送消息的應用系統只需要關注接口的功能,而不需要關注具體消息發送的實現細節,進一步做到系統之間的解耦。

(3)通道適配層

通道適配層支持所有消息類型的發送要求,可以提高消息發送通道的靈活性和擴展性。

消息服務中心主要有以下幾個特點:

(1)低耦合

通過消息服務中心連接應用系統和消息通道,使應用系統只需關注其具體業務邏輯,而不需要關心具體的消息發送邏輯(例如:應該選擇哪個消息通道,如何與消息發送通道對接,等等),降低系統耦合。

(2)可擴展

統一消息中心后,消息類型和消息發送通道等是可擴展的,在需要時,可以輕易調整對不同消息類型的支持,也可以輕易的對消息發送通道進行替換和調整。

(3)業務無關

應用系統的業務邏輯和消息發送機制分離,由消息服務中心負責“在何時以何種方式推送消息”;提高了系統的復用性和可維護性。

3. 消息服務中心功能設計

基于業務需求,綜合各應用系統的消息功能,抽離并沉淀形成消息服務中心的功能結構,如下圖:

圖3:消息服務中心功能圖

1. 基礎資料模塊

圖4:消息基礎資料管理

根據用戶中心的權限配置,消息管理員可以對消息的基礎資料進行配置,以實現各應用系統的調用和消息的成功發送。

消息的類型從B類業務上分,主要包括公告類和業務類,其他分類可自定義添加。

消息狀態主要包括:已讀和未讀兩種形式,用于識別消息用戶消息閱讀情況;

消息內容可通過設置消息模板和固化消息內容兩種;消息與應用系統的關聯,即某類消息或某條消息能夠推送到哪些應用系統;消息與用戶的關聯即設置某消息在滿足一定條件下觸發給用戶;(注:觸發條件因業務關聯性強,其規則在各應用系統中實現)。

消息接收方式主要包括:釘釘、微信、郵箱、短信等形式;在消息創建后,可選擇消息的接收方式。

2. 消息任務管理

消息任務管理是面向業務的,是消息服務中心主要模塊之一。其主要的功能是對消息任務從接收、過程監控、執行完畢全流程的管理,其主要流程如下:

圖5:消息任務管理主要流程

首先,消息服務中心創建或接收消息任務,當滿足應用系統消息執行條件時,會取出消息任務交給任務調度;其次,根據一定的配置對消息任務進行執行,直至結束。

3. 消息日志管理

消息日志記錄著消息從創建至結束的全生命周期過程,便于各應用系統對日志過程及結果的查詢和統計分析。

4. 消息配置管理

消息服務中心是消息接收和推送的統一平臺,可以通過配置項管理應用系統是否有接入權限、配置應用系統與發送通道的關聯關系、消息任務與應用系統的關聯關系等等。

例如:WMS系統可通過微信、APP、短信方式推送消息。通過消息配置管理,確保滿足各應用系統消息管理的需求。

總結

通過共享消息服務中心,較好保證了系統的可擴展性和可維護性,進一步降低了系統的耦合。對于企業中臺化發展具有重要的意義。

 

本文由 @產品余 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 有關于消息監控的文章不

    回復
  2. 謝謝大神教導,認真學習ing

    來自北京 回復
  3. NC是什么系統。。

    來自北京 回復
  4. 方便加微信,關于消息中心通知相互交流一下嗎?
    我的微信:18621732194

    來自上海 回復
  5. 學習打卡

    來自上海 回復
  6. 非常棒

    回復