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