国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于微服務架構(gòu)的平臺化業(yè)務實現(xiàn)

2018-08-03 02:05:42昉,侯
數(shù)字通信世界 2018年7期
關(guān)鍵詞:數(shù)據(jù)服務集群部署

方 昉,侯 琳

(塔里木油田公司信息與通訊技術(shù)中心,庫爾勒 841000)

信息化建設(shè)對于油田公司的生產(chǎn)運行及經(jīng)營管理起到了顯著的支撐和促進作用,但同時由于軟件系統(tǒng)規(guī)模日漸龐大,功能也越來越復雜,當油田公司原有業(yè)務需求發(fā)生變化,需要在舊系統(tǒng)上做相應的功能調(diào)整及擴展時,傳統(tǒng)的單體式架構(gòu)會帶來開發(fā)難度大、開發(fā)成本高、開發(fā)周期長等一系列問題。而微服務架構(gòu)的提出和應用無疑為解決這些問題帶來的希望,它使得信息服務的軟件架構(gòu)在產(chǎn)生變動時的維護成本大大降低,并顯著提高了穩(wěn)定性。

1 微服務

微服務最早由Mar tin Fowler與James Lewis 于2014年共同提出,旨在通過將功能模塊分解到各個獨立的離散的服務中,從而降低系統(tǒng)的耦合性以提供更加靈活的服務支持[1]。其實,微服務就是一些協(xié)同工作的小而自治的服務。其框架特征主要有:由多個分布式服務組成,多個獨立的服務,共同組成系統(tǒng);每個服務單獨部署,運行在獨立的容器(進程)里;服務可以采用不同的技術(shù)路線進行獨立的設(shè)計、開發(fā)、部署;分布式管理[2]。

2 微服務架構(gòu)的實踐應用

以微服務為理念,基于Spring boot技術(shù),采用Spr ing Cloud為微服務的技術(shù)框架,運用智能網(wǎng)關(guān)、動態(tài)路由、服務注冊與發(fā)現(xiàn)、斷路器、客戶端負載均衡、JWT(安全認證協(xié)議)、docker容器等相關(guān)技術(shù),構(gòu)建一套數(shù)據(jù)服務體系,以實現(xiàn)塔里木油田信息服務平臺的各種業(yè)務功能,見圖1。

圖1 總體框架圖

2.1 微服務應用部署

目前油田信息服務平臺數(shù)據(jù)服務,由三臺服務器(10.79.1.144、10.79.1.236、10.79.1.175)組成,均采用Linux Centos7操作系統(tǒng)作為數(shù)據(jù)服務基礎(chǔ)環(huán)境,分別搭建了Docker集群、安全網(wǎng)關(guān)、服務注冊中心、微服務應用集群、MongoDB副本集,整體應用部署見圖2:

平臺基于docker,swarm,etcd,shipyarn相關(guān)技術(shù),搭建了docker集群,主要為微服務應用的部署提供環(huán)境支持,通過docker鏡像,使微服務應用可以在開發(fā)、測試、生產(chǎn)環(huán)境中,實現(xiàn)無縫銜接;并利用JWT(JSON Web Token),作為框架安全認證協(xié)議,采用Nginx服務端負載均衡,同時結(jié)合Spring cloud微服務框架,運用其相關(guān)組件,搭建GateWay 集群、Eureka集群,實現(xiàn)了智能網(wǎng)關(guān)、動態(tài)路由、配置中心等功能,后續(xù)可以根據(jù)微服務應用需要選擇相應的數(shù)據(jù)庫獨立部署至docker容器中。

圖2 應用部署圖

2.2 微服務應用案例

本文以塔里木油田信息服務平臺為應用場景,以微服務架構(gòu)技術(shù)實現(xiàn)平臺上的“待辦/已辦事宜”業(yè)務。2.2.1 數(shù)據(jù)庫設(shè)計

“待辦/已辦事宜”業(yè)務采用了Mongodb NOSQL 文檔數(shù)據(jù)庫作為數(shù)據(jù)存儲,主要表(collection)結(jié)構(gòu)見表1:

表1 數(shù)據(jù)結(jié)構(gòu)表

主要表字段具體含義:

stid:實例ID,即實例的惟一標識;pid:業(yè)務ID,即待辦事宜涉及相關(guān)系統(tǒng)的業(yè)務編碼;ywxtbm:業(yè)務系統(tǒng)編碼,即待辦事宜涉及的系統(tǒng)編碼;jgnbm:功能編碼,即待辦事宜涉及相關(guān)系統(tǒng)的業(yè)務功能編碼;jyhid:接收人ID,即接收人的惟一標識;jyhdwbm:接收人單位編碼,即接收人單位的惟一標識;yhid:發(fā)送人ID,即發(fā)送人的惟一標識。

2.2.2 服務接口設(shè)計

采用Restful風格WebApi,提供的主要功能包括三類服務:

(1)數(shù)據(jù)插入更新服務。提供向數(shù)據(jù)庫插入或更新待辦事宜信息。如圖3包括兩個接口。

圖3 插入更新接口圖

(2)待辦信息查詢。提供根據(jù)用戶名(yhid)或用戶名(yhid)+系統(tǒng)編碼(xtbm)方式查詢待辦信息如圖4。

圖4 待辦信息查詢接口圖

(3)已辦信息查詢。提供根據(jù)用戶名(yhid)+系統(tǒng)編碼(xtbm)方式查詢已辦信息如圖5,返回結(jié)果按時間倒序排列。

圖5 已辦信息查詢接口圖

2.2.3 服務部署及訪問流程控制

“待辦、已辦事宜”微服務中數(shù)據(jù)存儲使用了mongodb,采用主從方式部署,服務以docker容器形式多副本部署以提供負載均衡,使用spr ing cloud提供服務的注冊發(fā)現(xiàn)、服務治理以及安全網(wǎng)關(guān)與路由等功能。當用戶請求已辦事宜數(shù)據(jù)服務時,調(diào)用主要過程如下:

外部請求到達Nginx,并通過Nginx負載轉(zhuǎn)發(fā)至docker集群的Zuul集群。請求中的token令牌將與JWT安全認證,當令牌認證通過后,由ribbon從客戶端向Eureka服務注冊中心,獲取服務注冊列表,并返回負載量最低的已辦任務的注冊地址,然后再通過Zuul智能路由至已辦任務服務實例。當某個已辦服務實例調(diào)用出現(xiàn)異常時,將觸發(fā)Hyst r ix 服務保護機制,并進行服務的降級,進而熔斷該節(jié)點微服務的調(diào)用,快速返回錯誤的響應信息,當檢測到該節(jié)點已辦任務服務調(diào)用響應正常后,恢復調(diào)用鏈路。

3 結(jié)束語

微服務架構(gòu)本身具有擴展性、穩(wěn)定性、安全性等特性,油田信息服務平臺通過部署微服務架構(gòu)并結(jié)合Docker技術(shù),實現(xiàn)數(shù)據(jù)高效共享服務,有效地提高了開發(fā)效率,降低了運維成本。■

猜你喜歡
數(shù)據(jù)服務集群部署
地理空間大數(shù)據(jù)服務自然資源調(diào)查監(jiān)測的方向分析
一種基于Kubernetes的Web應用部署與配置系統(tǒng)
晉城:安排部署 統(tǒng)防統(tǒng)治
部署
海上小型無人機集群的反制裝備需求與應對之策研究
一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計
電子制作(2018年11期)2018-08-04 03:25:40
Python與Spark集群在收費數(shù)據(jù)分析中的應用
勤快又呆萌的集群機器人
如何運用稅收大數(shù)據(jù)服務供給側(cè)結(jié)構(gòu)性改革
中國商論(2016年34期)2017-01-15 14:24:18
基于頻繁子圖挖掘的數(shù)據(jù)服務Mashup推薦
天柱县| 克什克腾旗| 禹州市| 桐乡市| 长垣县| 小金县| 营山县| 霞浦县| 抚顺县| 南通市| 晴隆县| 响水县| 鄢陵县| 庄浪县| 渝中区| 嘉荫县| 黄平县| 建湖县| 来宾市| 湘潭县| 东源县| 筠连县| 灵山县| 泸水县| 拉孜县| 霍城县| 南昌县| 乾安县| 延川县| 云龙县| 都匀市| 铜梁县| 于都县| 西和县| 佳木斯市| 天柱县| 冀州市| 屯昌县| 米易县| 拉萨市| 延长县|