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