共享消息服務(wù)中心解決方案

6 評論 16186 瀏覽 140 收藏 10 分鐘

消息服務(wù)中心是業(yè)務(wù)系統(tǒng)中比較重要的一項(xiàng)功能,在各應(yīng)用系統(tǒng)獨(dú)立設(shè)計(jì)消息管理的時(shí)候,會(huì)出現(xiàn)維護(hù)成本高、資源復(fù)用率低、靈活性差等問題,于是筆者結(jié)合需求以及產(chǎn)品目標(biāo)對消息服務(wù)中心的結(jié)構(gòu)做出調(diào)整。

一、背景

消息是業(yè)務(wù)系統(tǒng)中常見的一種功能,但因?yàn)榍捌跊]有做統(tǒng)一的產(chǎn)品規(guī)劃,沒有考慮功能的復(fù)用性,各系統(tǒng)按各自的需求進(jìn)行設(shè)計(jì),各自管理系統(tǒng)消息。

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

各應(yīng)用系統(tǒng)獨(dú)立設(shè)計(jì)消息管理,主要遇到了以下問題:

1. 緊耦合

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

2. 可擴(kuò)展和可維護(hù)性差

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

3. 資源復(fù)用率低

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

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

二、需求

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

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

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

三、解決方案

1. 目標(biāo)

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

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

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

2. 產(chǎn)品結(jié)構(gòu)

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

消息服務(wù)中心的整體產(chǎn)品架構(gòu)圖如下:

圖2:消息服務(wù)中心產(chǎn)品結(jié)構(gòu)圖

從消息服務(wù)中心的整體結(jié)構(gòu)中,主要分為三層:

(1)核心功能層

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

(2)功能接口層

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

通過標(biāo)準(zhǔn)的功能服務(wù)接口,需要發(fā)送消息的應(yīng)用系統(tǒng)只需要關(guān)注接口的功能,而不需要關(guān)注具體消息發(fā)送的實(shí)現(xiàn)細(xì)節(jié),進(jìn)一步做到系統(tǒng)之間的解耦。

(3)通道適配層

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

消息服務(wù)中心主要有以下幾個(gè)特點(diǎn):

(1)低耦合

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

(2)可擴(kuò)展

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

(3)業(yè)務(wù)無關(guān)

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

3. 消息服務(wù)中心功能設(shè)計(jì)

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

圖3:消息服務(wù)中心功能圖

1. 基礎(chǔ)資料模塊

圖4:消息基礎(chǔ)資料管理

根據(jù)用戶中心的權(quán)限配置,消息管理員可以對消息的基礎(chǔ)資料進(jìn)行配置,以實(shí)現(xiàn)各應(yīng)用系統(tǒng)的調(diào)用和消息的成功發(fā)送。

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

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

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

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

2. 消息任務(wù)管理

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

圖5:消息任務(wù)管理主要流程

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

3. 消息日志管理

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

4. 消息配置管理

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

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

總結(jié)

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

 

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

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

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

    回復(fù)
  2. 謝謝大神教導(dǎo),認(rèn)真學(xué)習(xí)ing

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

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

    來自上海 回復(fù)
  5. 學(xué)習(xí)打卡

    來自上海 回復(fù)
  6. 非常棒

    回復(fù)