九九九国产在线,久久久亚洲精品国产无码,日本欧美三级免费,国产午夜亚洲精品第一区

您當前的位置:首頁>>新聞中心>>行業動態

基于 DUBBO + ZOOKEEPER地磅 計量服務平臺研究

時間:2017-03-25 02:52:37   點擊數:

基于 DUBBO + ZOOKEEPE地磅 計量服務平臺研究

基于 DUBBO + ZOOKEEPE 地磅計量服務平臺是互聯網與傳統計量檢測服務業相結合的產物,平臺系統設計充分考慮了計量行業特點,在此基礎上確定系統的建設目標,重點解決分布式系統集群中數據共享數據一致性與服務水平擴展等問題系統遵循 JF1069  2012JJF1033  2014GB /T19022. 1 ISO10012  1ISO9000  ISO /IEC17025 等規范,使用 JAVA 語言和眾多開源框架,融入先進的管理理念,對涉及涵蓋政府計量技術機構企事業單位高校各個部門計量行業的工作程序進行全面的規范和整合,實現以服務為中心,對計量資源人( 標準規范檢測業務器具證書) 等方面的科學管理,同時輔以決策支持和實時的智能化預警機制構建計量管理知識資源化數字化具有十分重要的現實意義和應用價值

1.研究意義

 

基于 DUBBO + ZOOKEEPE 地磅計量服務平臺是一個規模龐大結構復雜信息量大的綜合在線計量支撐系統,系統涵蓋計量監管子系統計量業務子系統計量在線服務子系統計量數據共享子系統隨著業務的發展,應用需求的不斷擴充,如何有效的解決各子系統間共享數據一致性問題各應用服務間復雜度問題各異構子系統間數據共享問題以及分布式集群服務問題是本項目研究的重點和難點

 

( 1) 共享數據的一致性各子系統間存在許多高度共享的數據,包括用戶信息企業信息儀器信息,同時這些數據不可避免的在各系統間存在業務處理的出入口,從而導致各系統間的用戶數據業務局部數據產生不一致性 ( 2) 應用服務復雜度計量服務平臺是一個涵蓋多個子系統的大型服務平臺,隨著今后系統服務的增多,服務間的聯系會變得異常復雜,復雜度為: N 平方

 

( 3) 異構系統數據共享計量檢測公共服務平臺匯聚政府企業技術機構和高校等眾多數據資源,如何實現異構系統間的數據共享問題

 

2.研究內容

針對上訴問題,系統在設計之初采用 DUBBO + ZO-OKEEPE 面向服務的分布式體系架構Dubbo 是一項被國內外高度認可,同時被眾多國內互聯網公司廣泛使用的開源分布式 SOA 服務框架,致力于提供高性能和透明化得PC 遠程服務調用方案以及 SOA 服務治理方案其核心內容包含遠程通訊機制集群容錯機制自動發現機制SPING 配置機制基于 DUBBO 的應用服務實現了一系列的具體的業務功能封裝,研發基于計量業務的各種服務,包括證書防偽驗證計量器具狀態追蹤計量收費標準查詢等,服務對象不需要關心底層業務處理細節,只需要通過 EST 接口使用相應的服務即可軟件架構如圖 1 所示:

 軟件1.jpg

 

Zookeeper 運用高可用的分布式管理與協調服務框架,具有順序一致性原子性單一視圖可靠性實時性等特點其采用 ZAB 算法( 原子消息廣播協議) 提供如命名配置管理同步控制群組服務等一些公用服務通過 Zookeeper 來實現數據共享集群管理與 Leader 選舉等應用,保證分布式系統環境中數據共享的一致性

 

Dubbo + Zookeeper 是實現異構系統間服務智能化集成和管理技術,并解決如下問題

 

( 1) zookeeper 實現了各系統間的數據同步,共享數據事務一致性問題

 

( 2) zookeeper 能夠集成眾多異構系統的應用和數據,實現多方資源的數據共享和智能對接

 

( 3) Dubbo 可以使服務復雜度由 N 平方降低為 N,減少集成復雜性,增加業務靈活性,實現業務服務的水平擴展

 

( 4) Dubbo 能夠實現服務注冊訪問機制,達到對服務的透明訪問,訪問者無需關心服務的提供者

 

Dubbo + Zookeeper 應用架構如圖 2 所示:

軟件2.jpg

Dubbo  zookeeper 應用系統集成,其中服務提供者示例代碼如下:

 

 ? xml version = ″1. 0″ encoding = ″UTF  8″?

 

beans

 

!    引入配置文件  

 

context: property  placeholder location = ″classpath:

 

config. properties″ /

 

 !  - -

提供方應用信息 - - 

 dubbo:

application name = ″provider″ owner = ″ pro-

grammer″ organization = ″dubbox″ /

 !  - -

zookeeper 注冊中心服務地址 - - 

 dubbo:

registry address = ″ zookeeper: / /192. 168. 1. 1:

2181? backup =192. 168. 1. 2: 2181192. 168. 1. 3: 2181″/

 !  - -

kryo 實現序列化 - - 

 dubbo:

protocol name = ″dubbo″ serialization = ″kryo″

optimizer = ″tjjl. sys. serial. SerializationOptimizerImpl″ /

 

 ! 掃描 dubbox 注解位置 

 

dubbo: annotation package = ″tjjl. service″ /

 

!     dubbo 協議在 8888 端口提供服務

 

 

 dubbo: protocol name = ″rest″ server = ″tomcat″

 

port = ″8888″ contextpath = ″provider″ accepts = ″500″ /

 

 ! 具體的實現 bean 

 

bean id = ″ userService″ class = ″

 

tjjl. service. impl. UserServiceImpl″ /

 

 ! 聲明需要暴露的服務接口,同時提供本地

 

dubbo 方法調用和 rest 方法調用   

 

dubbo: service interface = ″ tjjl. service. UserService″ ref = ″userService″ protocol = ″restdubbo″ /

 

/beans

 

Dubbo  zookeeper 應用系統集成,其中服務消費者示例代碼如下:

 

 ? xml version = ″1. 0″ encoding = ″UTF  8″?

 

beans

 

!    引入配置文件  

 

context: property  placeholder location = ″classpath:

 

config. properties″ /

 


 !  - -

消費方服務名稱 - - 



 dubbo: application name = ″consumer″ owner = ″

programmer″ organization = ″dubbox″ /


 !  - -

zookeeper 注冊中心服務地址 - - 




dubbo:

registry

address  = ″ zookeeper: / /

192.

168.

1.

1

:

2181?

backup

=  192. 168. 1. 2:  2181

192.

168.

1.

3

: 2181″ / 




 !  - -

生成遠程服務接口配置 - - 


 dubbo:

reference

interface

= ″ tjjl. service. UserService″

 

id = ″userService″ /

 

 /beans