• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      方 昉,侯 琳

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

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

      1 微服務(wù)

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

      2 微服務(wù)架構(gòu)的實踐應(yīng)用

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

      圖1 總體框架圖

      2.1 微服務(wù)應(yīng)用部署

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

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

      圖2 應(yīng)用部署圖

      2.2 微服務(wù)應(yīng)用案例

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

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

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

      主要表字段具體含義:

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

      2.2.2 服務(wù)接口設(shè)計

      采用Restful風(fēng)格WebApi,提供的主要功能包括三類服務(wù):

      (1)數(shù)據(jù)插入更新服務(wù)。提供向數(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 服務(wù)部署及訪問流程控制

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

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

      3 結(jié)束語

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

      猜你喜歡
      數(shù)據(jù)服務(wù)集群部署
      地理空間大數(shù)據(jù)服務(wù)自然資源調(diào)查監(jiān)測的方向分析
      一種基于Kubernetes的Web應(yīng)用部署與配置系統(tǒng)
      晉城:安排部署 統(tǒng)防統(tǒng)治
      部署
      海上小型無人機(jī)集群的反制裝備需求與應(yīng)對之策研究
      一種無人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計
      電子制作(2018年11期)2018-08-04 03:25:40
      Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
      勤快又呆萌的集群機(jī)器人
      如何運(yùn)用稅收大數(shù)據(jù)服務(wù)供給側(cè)結(jié)構(gòu)性改革
      中國商論(2016年34期)2017-01-15 14:24:18
      基于頻繁子圖挖掘的數(shù)據(jù)服務(wù)Mashup推薦
      江北区| 武川县| 库尔勒市| 津市市| 垦利县| 容城县| 通海县| 邻水| 偏关县| 抚州市| 宁德市| 大渡口区| 志丹县| 吐鲁番市| 凤阳县| 来安县| 海林市| 邹平县| 河北省| 丽江市| 新宁县| 岳西县| 霍城县| 鹤山市| 四平市| 乐山市| 开封市| 鲜城| 邹城市| 邯郸市| 沈丘县| 金平| 耒阳市| 丰城市| 宝山区| 桦川县| 章丘市| 松溪县| 巴彦县| 石河子市| 吕梁市|