基于 DUBBO + ZOOKEEPER地磅 計(jì)量服務(wù)平臺(tái)研究
基于 DUBBO + ZOOKEEPER地磅 計(jì)量服務(wù)平臺(tái)研究
基于 DUBBO + ZOOKEEPER 的地磅計(jì)量服務(wù)平臺(tái)是互聯(lián)網(wǎng)與傳統(tǒng)計(jì)量檢測(cè)服務(wù)業(yè)相結(jié)合的產(chǎn)物,平臺(tái)系統(tǒng)設(shè)計(jì)充分考慮了計(jì)量行業(yè)特點(diǎn),在此基礎(chǔ)上確定系統(tǒng)的建設(shè)目標(biāo),重點(diǎn)解決分布式系統(tǒng)集群中數(shù)據(jù)共享、數(shù)據(jù)一致性與服務(wù)水平擴(kuò)展等問題。系統(tǒng)遵循 JF1069 - 2012、JJF1033 - 2014、GB /T19022. 1、 ISO10012 - 1、ISO9000 和 ISO /IEC17025 等規(guī)范,使用 JAVA 語言和眾多開源框架,融入先進(jìn)的管理理念,對(duì)涉及涵蓋政府、計(jì)量技術(shù)機(jī)構(gòu)、企事業(yè)單位、高校各個(gè)部門計(jì)量行業(yè)的工作程序進(jìn)行全面的規(guī)范和整合,實(shí)現(xiàn)以服務(wù)為中心,對(duì)計(jì)量資源人、才、物( 標(biāo)準(zhǔn)、規(guī)范、檢測(cè)業(yè)務(wù)、器具證書) 等方面的科學(xué)管理,同時(shí)輔以決策支持和實(shí)時(shí)的智能化預(yù)警機(jī)制。構(gòu)建計(jì)量管理知識(shí)資源化、數(shù)字化具有十分重要的現(xiàn)實(shí)意義和應(yīng)用價(jià)值。
1.研究意義
基于 DUBBO + ZOOKEEPER 的計(jì)量服務(wù)平臺(tái)是一個(gè)規(guī)模龐大、結(jié)構(gòu)復(fù)雜、信息量大的綜合在線計(jì)量支撐系統(tǒng),系統(tǒng)涵蓋計(jì)量監(jiān)管子系統(tǒng)、計(jì)量業(yè)務(wù)子系統(tǒng)、計(jì)量在線服務(wù)子系統(tǒng)、計(jì)量數(shù)據(jù)共享子系統(tǒng)。隨著業(yè)務(wù)的發(fā)展,應(yīng)用需求的不斷擴(kuò)充,如何有效的解決各子系統(tǒng)間共享
數(shù)據(jù)一致性問題、各應(yīng)用服務(wù)間復(fù)雜度問題、各異構(gòu)子系統(tǒng)間數(shù)據(jù)共享問題以及分布式集群服務(wù)問題是本項(xiàng)目研究的重點(diǎn)和難點(diǎn)。
( 1) 共享數(shù)據(jù)的一致性各子系統(tǒng)間存在許多高度共享的數(shù)據(jù),包括用戶信息、企業(yè)信息、儀器信息,同時(shí)這些數(shù)據(jù)不可避免的在各系統(tǒng)間存在業(yè)務(wù)處理的出入口,從而導(dǎo)致各系統(tǒng)間的用戶數(shù)據(jù)、業(yè)務(wù)局部數(shù)據(jù)產(chǎn)生不一致性。
( 2) 應(yīng)用服務(wù)復(fù)雜度
計(jì)量服務(wù)平臺(tái)是一個(gè)涵蓋多個(gè)子系統(tǒng)的大型服務(wù)平臺(tái),隨著今后系統(tǒng)服務(wù)的增多,服務(wù)間的聯(lián)系會(huì)變得異常復(fù)雜,復(fù)雜度為: N 平方。
( 3) 異構(gòu)系統(tǒng)數(shù)據(jù)共享計(jì)量檢測(cè)公共服務(wù)平臺(tái)匯聚政府、企業(yè)、技術(shù)機(jī)構(gòu)和高校等眾多數(shù)據(jù)資源,如何實(shí)現(xiàn)異構(gòu)系統(tǒng)間的數(shù)據(jù)共享問題。
2.研究?jī)?nèi)容
針對(duì)上訴問題,系統(tǒng)在設(shè)計(jì)之初采用 DUBBO + ZO-OKEEPER 面向服務(wù)的分布式體系架構(gòu)。Dubbo 是一項(xiàng)被國(guó)內(nèi)外高度認(rèn)可,同時(shí)被眾多國(guó)內(nèi)互聯(lián)網(wǎng)公司廣泛使用的開源分布式 SOA 服務(wù)框架,致力于提供高性能和透明化得RPC 遠(yuǎn)程服務(wù)調(diào)用方案以及 SOA 服務(wù)治理方案。其核心內(nèi)容包含遠(yuǎn)程通訊機(jī)制、集群容錯(cuò)機(jī)制、自動(dòng)發(fā)現(xiàn)機(jī)制、SPRING 配置機(jī)制。基于 DUBBO 的應(yīng)用服務(wù)實(shí)現(xiàn)了一系列的具體的業(yè)務(wù)功能封裝,研發(fā)基于計(jì)量業(yè)務(wù)的各種服務(wù),包括證書防偽驗(yàn)證、計(jì)量器具狀態(tài)追蹤、計(jì)量收費(fèi)標(biāo)準(zhǔn)查詢等,服務(wù)對(duì)象不需要關(guān)心底層業(yè)務(wù)處理細(xì)節(jié),只需要通過 REST 接口使用相應(yīng)的服務(wù)即可。軟件架構(gòu)如圖 1 所示:
Zookeeper 運(yùn)用高可用的分布式管理與協(xié)調(diào)服務(wù)框架,具有順序一致性、原子性、單一視圖、可靠性、實(shí)時(shí)性等特點(diǎn)。其采用 ZAB 算法( 原子消息廣播協(xié)議) 提供如命名、配置管理、同步控制、群組服務(wù)等一些公用服務(wù)。通過 Zookeeper 來實(shí)現(xiàn)數(shù)據(jù)共享、集群管理與 Leader 選舉等應(yīng)用,保證分布式系統(tǒng)環(huán)境中數(shù)據(jù)共享的一致性。
Dubbo + Zookeeper 是實(shí)現(xiàn)異構(gòu)系統(tǒng)間服務(wù)智能化集成和管理技術(shù),并解決如下問題。
( 1) zookeeper 實(shí)現(xiàn)了各系統(tǒng)間的數(shù)據(jù)同步,共享數(shù)據(jù)事務(wù)一致性問題。
( 2) zookeeper 能夠集成眾多異構(gòu)系統(tǒng)的應(yīng)用和數(shù)
據(jù),實(shí)現(xiàn)多方資源的數(shù)據(jù)共享和智能對(duì)接。
( 3) Dubbo 可以使服務(wù)復(fù)雜度由 N 平方降低為 N,減少集成復(fù)雜性,增加業(yè)務(wù)靈活性,實(shí)現(xiàn)業(yè)務(wù)服務(wù)的水平擴(kuò)展。
( 4) Dubbo 能夠?qū)崿F(xiàn)服務(wù)注冊(cè)訪問機(jī)制,達(dá)到對(duì)服務(wù)的透明訪問,訪問者無需關(guān)心服務(wù)的提供者。
Dubbo + Zookeeper 應(yīng)用架構(gòu)如圖 2 所示: