一、背景消息是業(yè)務(wù)系統(tǒng)中常見(jiàn)的一種功能,但因?yàn)榍捌跊](méi)有做統(tǒng)一的產(chǎn)品規(guī)劃,沒(méi)有考慮功能的復(fù)用性,各系統(tǒng)按各自的需求進(jìn)行設(shè)計(jì),各自管理系統(tǒng)消息。 圖1:應(yīng)用系統(tǒng)消息推送現(xiàn)狀 各應(yīng)用系統(tǒng)獨(dú)立設(shè)計(jì)消息管理,主要遇到了以下問(wèn)題: 1. 緊耦合各應(yīng)用系統(tǒng)與消息通道之間點(diǎn)對(duì)點(diǎn)對(duì)接,當(dāng)某消息通道發(fā)生改變,所有與其連接的應(yīng)用系統(tǒng)都需改變,靈活性差。 2. 可擴(kuò)展和可維護(hù)性差當(dāng)需要增加一種新的消息發(fā)送類(lèi)型,各應(yīng)用系統(tǒng)都需要增加相應(yīng)的對(duì)接方案,工作量倍增,后期維護(hù)成本也更高。 3. 資源復(fù)用率低各應(yīng)用系統(tǒng)單獨(dú)設(shè)計(jì)和對(duì)接消息通道,后期新應(yīng)用系統(tǒng)接入時(shí),消息功能可復(fù)用性低,造成企業(yè)人力和資金成本的高度浪費(fèi)。 為了有效解決以上問(wèn)題,為了能更好的將消息通用性功能做成可復(fù)用的,將共享消息服務(wù)建成一個(gè)中臺(tái),用于支持各業(yè)務(wù)系統(tǒng)對(duì)此類(lèi)服務(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ù)中臺(tái)化將改變?cè)瓚?yīng)用在消息接收、發(fā)送、監(jiān)控等方面的機(jī)制,了解并滿(mǎn)足業(yè)務(wù)需求是提供解決方案的前提。
三、解決方案1. 目標(biāo)實(shí)現(xiàn)系統(tǒng)群的共享:共享消息服務(wù)是針對(duì)應(yīng)用系統(tǒng)群提出的解決辦法,實(shí)現(xiàn)系統(tǒng)群對(duì)該服務(wù)的共享。
無(wú)論是哪個(gè)獨(dú)立系統(tǒng),用戶(hù)都能根據(jù)其業(yè)務(wù)需求,高效、安全、準(zhǔn)確的獲得相應(yīng)的消息。 2. 產(chǎn)品結(jié)構(gòu)通過(guò)對(duì)需求的分析,并結(jié)合當(dāng)前企業(yè)內(nèi)應(yīng)用系統(tǒng)架構(gòu)所遇到的實(shí)際問(wèn)題;我們引入消息服務(wù)中心,來(lái)降低應(yīng)用系統(tǒng)間的耦合,通過(guò)消息服務(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ù)、查詢(xún)消息、更新消息、取消消息等。 通過(guò)標(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)通道適配層 通道適配層支持所有消息類(lèi)型的發(fā)送要求,可以提高消息發(fā)送通道的靈活性和擴(kuò)展性。 消息服務(wù)中心主要有以下幾個(gè)特點(diǎn): (1)低耦合 通過(guò)消息服務(wù)中心連接應(yīng)用系統(tǒng)和消息通道,使應(yīng)用系統(tǒng)只需關(guān)注其具體業(yè)務(wù)邏輯,而不需要關(guān)心具體的消息發(fā)送邏輯(例如:應(yīng)該選擇哪個(gè)消息通道,如何與消息發(fā)送通道對(duì)接,等等),降低系統(tǒng)耦合。 (2)可擴(kuò)展 統(tǒng)一消息中心后,消息類(lèi)型和消息發(fā)送通道等是可擴(kuò)展的,在需要時(shí),可以輕易調(diào)整對(duì)不同消息類(lèi)型的支持,也可以輕易的對(duì)消息發(fā)送通道進(jìn)行替換和調(diào)整。 (3)業(yè)務(wù)無(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ù)用戶(hù)中心的權(quán)限配置,消息管理員可以對(duì)消息的基礎(chǔ)資料進(jìn)行配置,以實(shí)現(xiàn)各應(yīng)用系統(tǒng)的調(diào)用和消息的成功發(fā)送。 消息的類(lèi)型從B類(lèi)業(yè)務(wù)上分,主要包括公告類(lèi)和業(yè)務(wù)類(lèi),其他分類(lèi)可自定義添加。 消息狀態(tài)主要包括:已讀和未讀兩種形式,用于識(shí)別消息用戶(hù)消息閱讀情況; 消息內(nèi)容可通過(guò)設(shè)置消息模板和固化消息內(nèi)容兩種;消息與應(yīng)用系統(tǒng)的關(guān)聯(lián),即某類(lèi)消息或某條消息能夠推送到哪些應(yīng)用系統(tǒng);消息與用戶(hù)的關(guān)聯(lián)即設(shè)置某消息在滿(mǎn)足一定條件下觸發(fā)給用戶(hù);(注:觸發(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ù)中心主要模塊之一。其主要的功能是對(duì)消息任務(wù)從接收、過(guò)程監(jiān)控、執(zhí)行完畢全流程的管理,其主要流程如下: 圖5:消息任務(wù)管理主要流程 首先,消息服務(wù)中心創(chuàng)建或接收消息任務(wù),當(dāng)滿(mǎn)足應(yīng)用系統(tǒng)消息執(zhí)行條件時(shí),會(huì)取出消息任務(wù)交給任務(wù)調(diào)度;其次,根據(jù)一定的配置對(duì)消息任務(wù)進(jìn)行執(zhí)行,直至結(jié)束。 3. 消息日志管理 消息日志記錄著消息從創(chuàng)建至結(jié)束的全生命周期過(guò)程,便于各應(yīng)用系統(tǒng)對(duì)日志過(guò)程及結(jié)果的查詢(xún)和統(tǒng)計(jì)分析。 4. 消息配置管理 消息服務(wù)中心是消息接收和推送的統(tǒng)一平臺(tái),可以通過(guò)配置項(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)可通過(guò)微信、APP、短信方式推送消息。通過(guò)消息配置管理,確保滿(mǎn)足各應(yīng)用系統(tǒng)消息管理的需求。 總結(jié)通過(guò)共享消息服務(wù)中心,較好保證了系統(tǒng)的可擴(kuò)展性和可維護(hù)性,進(jìn)一步降低了系統(tǒng)的耦合。對(duì)于企業(yè)中臺(tái)化發(fā)展具有重要的意義。 本文由 @產(chǎn)品余 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。 題圖來(lái)自Unsplash,基于CC0協(xié)議 |
|
|
來(lái)自: 謝琴譯435 > 《待分類(lèi)》