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

?

基于SpringCloud的電信綜合服務(wù)保障系統(tǒng)微服務(wù)改造之路

2019-02-02 04:09劉斌
關(guān)鍵詞:改造

【摘?要】隨著電信業(yè)務(wù)的多元化發(fā)展,對(duì)后端運(yùn)營(yíng)支撐的電信綜合服務(wù)保障系統(tǒng)提出了更高的要求。傳統(tǒng)的單體式應(yīng)用逐漸暴露出自身架構(gòu)的缺陷,如復(fù)雜性高、擴(kuò)展性差、技術(shù)棧單一。為改進(jìn)單體式應(yīng)用的不足,論文提出了基于SpringCloud的微服務(wù)架構(gòu)設(shè)計(jì)方案。經(jīng)過(guò)改造的電信綜合服務(wù)保障系統(tǒng)更易于開發(fā)、理解和維護(hù),并且不受技術(shù)棧的限制。

【Abstract】With?the?diversified?development?of?telecommunication?business,?higher?requirements?are?put?forward?for?the?guarantee?system?of?telecommunication?integrated?service?supported?by?back-end?operation.?The?traditional?single?application?has?gradually?exposed?the?defects?of?its?own?architecture,?such?as?high?complexity,?poor?scalability?and?single?technology?stack.?In?order?to?improve?the?disadvantages?of?single?application,?this?paper?proposes?a?micro-service?architecture?design?scheme?based?on?SpringCloud.?The?improved?guarantee?system?of?telecommunication?integrated?service?is?easier?to?develop,?understand?and?maintain,?and?is?not?limited?by?the?technology?stack.

【關(guān)鍵詞】SpringCloud;微服務(wù)架構(gòu);改造

【Keywords】SpringCloud;?micro-services?architecture;?transformation

【中圖分類號(hào)】TP311???????????????????????????????????????【文獻(xiàn)標(biāo)志碼】A??????????????????????????????????????????????【文章編號(hào)】1673-1069(2019)11-0090-02

【作者簡(jiǎn)介】劉斌(1981-),男,福建福州人,工程師,從事軟件工程研究。

1?引言

電信業(yè)在近幾年得到了蓬勃的發(fā)展,業(yè)務(wù)更加復(fù)雜,關(guān)系更加緊密,數(shù)據(jù)更加多樣化。原先舊的綜合服務(wù)保障系統(tǒng)逐漸顯露出自身架構(gòu)的缺陷:所有功能集中在一個(gè)項(xiàng)目中,邏輯復(fù)雜、模塊耦合、代碼臃腫,修改難度大,系統(tǒng)錯(cuò)誤隔離性差、可用性差,任何一個(gè)模塊的錯(cuò)誤均可能造成整個(gè)系統(tǒng)的宕機(jī)。加之為順應(yīng)電信IT系統(tǒng)的Paas云平臺(tái)化改造,決定對(duì)現(xiàn)有綜合服務(wù)保障系統(tǒng)進(jìn)行基于SpringCloud的微服務(wù)化改造[1]。

2?微服務(wù)簡(jiǎn)介

微服務(wù)是將原本單一型的應(yīng)用分解為多個(gè)微服務(wù),各個(gè)微服務(wù)獨(dú)立運(yùn)行在自己的進(jìn)程中,可分別有自己的數(shù)據(jù)庫(kù)。微服務(wù)之間使用REST或者RPC等協(xié)議進(jìn)行通信。具有易于開發(fā)和維護(hù)、啟動(dòng)更快便于部署、更寬的技術(shù)棧等優(yōu)點(diǎn)。

3?微服務(wù)改造實(shí)踐

綜合服務(wù)保障系統(tǒng)是一套在用系統(tǒng),所以如果從頭構(gòu)建全新的基于微服務(wù)的應(yīng)用,充滿了風(fēng)險(xiǎn),有可能導(dǎo)致失敗。相反,應(yīng)當(dāng)采取漸進(jìn)式重構(gòu)舊系統(tǒng)的策略,逐步構(gòu)建一個(gè)由微服務(wù)構(gòu)成的應(yīng)用,與舊系統(tǒng)并行運(yùn)行。隨著時(shí)間推移,原先由舊系統(tǒng)實(shí)現(xiàn)的功能不斷收縮,最后或者完全消失,或者轉(zhuǎn)變?yōu)槲⒎?wù)。轉(zhuǎn)化的實(shí)現(xiàn)策略包括以下幾個(gè)方面:

策略一:拆分前端和后端。將表示層與業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)層分離。表示層是一個(gè)應(yīng)用,業(yè)務(wù)和數(shù)據(jù)訪問(wèn)邏輯是一個(gè)應(yīng)用。表示層應(yīng)用遠(yuǎn)程調(diào)用業(yè)務(wù)邏輯層。

策略二:提取微服務(wù)。將舊系統(tǒng)內(nèi)的模塊轉(zhuǎn)變?yōu)楠?dú)立的微服務(wù)。每當(dāng)提取模塊將其轉(zhuǎn)化為服務(wù),舊系統(tǒng)就會(huì)收縮。一旦轉(zhuǎn)化了足夠的模塊,舊系統(tǒng)或者徹底消失,或者縮小成為另一個(gè)微服務(wù)。

策略三:新增的業(yè)務(wù)模塊直接微服務(wù)化。使舊系統(tǒng)停止繼續(xù)變大,不再對(duì)舊系統(tǒng)開發(fā)新的功能,而把新的功能模塊開發(fā)成為獨(dú)立的微服務(wù)[2]。

4?SpringCloud簡(jiǎn)介

SpringCloud是一套基于SpringBoot構(gòu)建的通用工具集,非常適合用于快速地構(gòu)建分布式系統(tǒng)。作為微服務(wù)的開發(fā)框架,其整合并增強(qiáng)了微服務(wù)架構(gòu)中常用的組件,如Eureka、Zuul、Hystrix等,具有功能齊全、開箱即用、適用于各種環(huán)境等特點(diǎn)。

4.1?Eureka

Eureka是一個(gè)基于REST服務(wù)的服務(wù)注冊(cè)與發(fā)現(xiàn)組件,主要包含Eureka?Server和Eureka?Client兩個(gè)組件。SpringCloud將其集成在子項(xiàng)目Spring?Cloud?Netflix中。

各個(gè)微服務(wù)啟動(dòng)時(shí),會(huì)將自己的信息(如IP、端口、微服務(wù)名稱等)注冊(cè)到Eureka?Server,Eureka?Server會(huì)存儲(chǔ)這些信息。Eureka?Client會(huì)周期性(默認(rèn)30s)地向Eureka?Server發(fā)送心跳以續(xù)約自己的信息。Eureka?Server會(huì)檢查超過(guò)一定時(shí)間(默認(rèn)90s)沒(méi)有續(xù)約的微服務(wù),如有發(fā)現(xiàn),則會(huì)注銷該微服務(wù)實(shí)例。每個(gè)Eureka?Server同時(shí)也是一個(gè)Eureka?Client,多個(gè)Eureka?Server實(shí)例互相之間通過(guò)復(fù)制的方式實(shí)現(xiàn)注冊(cè)信息的同步[3]。

4.2?Ribbon

Ribbon是一套基于HTTP和TCP的客戶端負(fù)載均衡工具,由Netflix發(fā)布。經(jīng)由SpringCloud封裝后,Ribbon可以自動(dòng)地從Eureka?Server中獲取服務(wù)提供者的地址列表,并基于負(fù)載均衡算法(如輪詢、隨機(jī)等),請(qǐng)求其中一個(gè)服務(wù)提供者實(shí)例,也可為Ribbon實(shí)現(xiàn)自定義的負(fù)載均衡算法。

4.3?Hystrix

微服務(wù)架構(gòu)的應(yīng)用系統(tǒng)通常包含多個(gè)服務(wù)層,各服務(wù)之間存在一定的依賴關(guān)系。底層服務(wù)的故障有可能引發(fā)級(jí)聯(lián)故障,導(dǎo)致雪崩效應(yīng)。要防止雪崩效應(yīng),必須有一個(gè)強(qiáng)大的容錯(cuò)機(jī)制。

Hystrix是有Netflix開源的一個(gè)工具類庫(kù),可以為網(wǎng)絡(luò)請(qǐng)求設(shè)置超時(shí),使用斷路器模式,用于隔離訪問(wèn)遠(yuǎn)程系統(tǒng)、服務(wù)或者第三方庫(kù),防止級(jí)聯(lián)失敗,從而提升系統(tǒng)的可用性和容錯(cuò)性。

4.4?Zuul

Zuul是Netflix開源的微服務(wù)網(wǎng)關(guān),SpringCloud對(duì)Zuul進(jìn)行了整合與增強(qiáng),使其能夠與Eureka、Ribbon、Hystrix等組件更方便地配合使用。

微服務(wù)網(wǎng)關(guān)是介于外部客戶端(如網(wǎng)頁(yè)端、手機(jī)APP等)和服務(wù)器之間的中間層,所有客戶端來(lái)的請(qǐng)求都通過(guò)微服務(wù)網(wǎng)關(guān)到達(dá)后端的應(yīng)用服務(wù)。作為一個(gè)邊界性質(zhì)的應(yīng)用程序,Zuul底層利用各種過(guò)濾器實(shí)現(xiàn)了以下功能:身份認(rèn)證與安全、動(dòng)態(tài)路由、性能監(jiān)控、壓力測(cè)試、負(fù)載分配、靜態(tài)相應(yīng)處理等。

4.5?微服務(wù)架構(gòu)

圖1???SpringCloud架構(gòu)圖

5?結(jié)語(yǔ)

單體應(yīng)用向微服務(wù)架構(gòu)的重構(gòu)是一個(gè)持續(xù)的過(guò)程,充滿了挑戰(zhàn)。實(shí)現(xiàn)這一過(guò)程不能一味地從頭開始重寫代碼,而是應(yīng)該漸進(jìn)式地將單體應(yīng)用中的功能模塊轉(zhuǎn)換成微服務(wù)。隨著時(shí)間的推移,大量微服務(wù)逐步形成,舊單體應(yīng)用的功能逐步下線,最終實(shí)現(xiàn)全部改造的目標(biāo)。

【參考文獻(xiàn)】

【1】洪華軍,吳建波,冷文浩.一種基于微服務(wù)架構(gòu)的業(yè)務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2018,46(1):149-154.

【2】Chris?Richardson.微服務(wù)架構(gòu)的設(shè)計(jì)模式[M].北京:機(jī)械工業(yè)出版社,2019.

【3】楊宇,焦麗琴.基于微服務(wù)的企業(yè)應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)[J].電子科學(xué)技術(shù)(北京),2016(5):623-625.

猜你喜歡
改造
安全型時(shí)間繼電器常見(jiàn)故障及解決措施
探討使用網(wǎng)絡(luò)終端技術(shù)改造小型印刷廠計(jì)算機(jī)排版系統(tǒng)
礦井主排水系統(tǒng)的優(yōu)化設(shè)計(jì)與改造
江西廣電網(wǎng)絡(luò)設(shè)區(qū)市數(shù)字電視備份平臺(tái)改造方案
杭州“城中村”改造的調(diào)查
300MW機(jī)組頂軸油系統(tǒng)改造
論電梯單開門改雙開門的改造方式
阿坝县| 张掖市| 普兰店市| 高安市| 饶阳县| 若尔盖县| 余姚市| 玉林市| 澜沧| 东丰县| 天门市| 台江县| 天镇县| 沭阳县| 六安市| 高安市| 合肥市| 和顺县| 汶川县| 大新县| 桑植县| 定南县| 望都县| 洛浦县| 虞城县| 普定县| 杨浦区| 三穗县| 沧州市| 天门市| 昌平区| 漳平市| 米林县| 顺平县| 凤阳县| 梅州市| 五指山市| 拉孜县| 武功县| 渝中区| 洪泽县|