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

6 評論 16601 瀏覽 141 收藏 10 分鐘

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

一、背景

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

圖1:應用系統(tǒng)消息推送現(xiàn)狀

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

1. 緊耦合

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

2. 可擴展和可維護性差

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

3. 資源復用率低

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

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

二、需求

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

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

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

三、解決方案

1. 目標

實現(xiàn)系統(tǒng)群的共享:共享消息服務是針對應用系統(tǒng)群提出的解決辦法,實現(xiàn)系統(tǒng)群對該服務的共享。

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

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

2. 產品結構

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

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

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

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

(1)核心功能層

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

(2)功能接口層

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

通過標準的功能服務接口,需要發(fā)送消息的應用系統(tǒng)只需要關注接口的功能,而不需要關注具體消息發(fā)送的實現(xiàn)細節(jié),進一步做到系統(tǒng)之間的解耦。

(3)通道適配層

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

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

(1)低耦合

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

(2)可擴展

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

(3)業(yè)務無關

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

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

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

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

1. 基礎資料模塊

圖4:消息基礎資料管理

根據用戶中心的權限配置,消息管理員可以對消息的基礎資料進行配置,以實現(xiàn)各應用系統(tǒng)的調用和消息的成功發(fā)送。

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

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

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

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

2. 消息任務管理

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

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

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

3. 消息日志管理

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

4. 消息配置管理

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

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

總結

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

 

本文由 @產品余 原創(chuàng)發(fā)布于人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基于CC0協(xié)議

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

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

    來自北京 回復
  3. NC是什么系統(tǒng)。。

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

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

    來自上海 回復
  6. 非常棒

    回復