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

?

基于Spring Cloud和Docker的微服務(wù)架構(gòu)設(shè)計

2018-05-15 16:55:26王方旭
中國信息化 2018年3期
關(guān)鍵詞:鏡像客戶端部署

王方旭

一、概述

隨著互聯(lián)網(wǎng)、云計算的進步,微服務(wù)越來越受到從業(yè)者的關(guān)注。尤其是以單體架構(gòu)建設(shè)的應(yīng)用和SOA架構(gòu)的應(yīng)用皆無法解決數(shù)據(jù)、服務(wù)呈爆炸式增長帶來的沖擊,而微服務(wù)將業(yè)務(wù)系統(tǒng)徹底組件化、服務(wù)化的思想讓系統(tǒng)建設(shè)者有了更多選擇。

微服務(wù)的核心思想是:應(yīng)用是由相互獨立的服務(wù)組成,這些服務(wù)可分布式部署,運行在獨立的進程中,通過輕量級的通信機制交互信息,服務(wù)獨立擴展,自由伸縮,但有明確的邊界,不受開發(fā)語言、技術(shù)路線、開發(fā)團隊的制約。

Spring Cloud是實踐微服務(wù)的框架,有活躍的開源社區(qū)支持;Docker使分布式應(yīng)用脫離底層物理硬件和基礎(chǔ)環(huán)境的限制,實現(xiàn)應(yīng)用快速開發(fā)和部署而大放異彩的開源項目。因此,使用Spring Cloud框架和Docker構(gòu)建的微服務(wù)系統(tǒng)是實現(xiàn)開發(fā)、部署、運維一體化的DevOps模式的最佳解決方案。

二、Spring Cloud

(一) Spring Cloud簡介及架構(gòu)圖

Spring boot是由 Pivotal 團隊提供的框架,按照約定大于配置的核心思想對Spring框架進行了簡化。Spring Cloud是基于Spring Boot推出一系列框架、組件的有序集合,簡化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),且封裝的框架均是成熟且經(jīng)過實際檢驗的,比如面向服務(wù)發(fā)現(xiàn)治理的EureKa,面向負載均衡的Ribbon等。經(jīng)過封裝,向開發(fā)者提供的則是易理解、易部署、易交互的分布式系統(tǒng)開發(fā)框架。

下圖,展示了Spring Cloud框架完整架構(gòu)圖。

(二) Spring Cloud框架中的組件

1. Eureka在Spring Cloud框架中實現(xiàn)微服務(wù)的自動注冊與發(fā)現(xiàn)。定義服務(wù)注冊中心是在啟動類配置@ EnableEurekaServer;定義服務(wù)提供者是在其啟動類配置@EnableEurekaClient,該注解聲明服務(wù)是Eureka客戶端,具備服務(wù)注冊和發(fā)現(xiàn)能力。

2. Zuul的作用是動態(tài)路由和請求過濾,便于監(jiān)控和認證。在服務(wù)啟動類上配置@EnableZuulProxy即可開啟Zuul的動態(tài)路由作用,而在啟動類內(nèi)部配置繼承了ZuulFilter類的過濾器實現(xiàn)類可開啟Zuul的請求過濾功能。

3. Ribbon是基于HTTP和TCP的客戶端負載均衡器,從Eureka注冊中心獲取服務(wù)列表,采用輪詢訪問的方式實現(xiàn)負載均衡的作用。在客戶端的服務(wù)方法上配置@ LoadBalanced即可開啟客戶端負載均衡。

4. HyStrix是能夠提升系統(tǒng)的容錯能力的熔斷器。該服務(wù)在啟動類配置@EnableCircuitBreaker或者@ EnableHystrix即可開啟熔斷器支持。

5. Turbine是為了監(jiān)控微服務(wù)集群而引入的工具,Turbine結(jié)合HyStrix可監(jiān)控系統(tǒng)中所有服務(wù)的實時數(shù)據(jù)。在服務(wù)的啟動類配置@EnableTurbine可開啟Turbine功能。

6. F e i g n整合R i b b o n向客戶端提供聲明式的H T T P A P I。在基于F e i g n的服務(wù)啟動類上配置@ EnableFeignClients即可開啟Feign功能,在服務(wù)接口類上配置@FeignClient綁定服務(wù)提供者的服務(wù)名和實現(xiàn)方法。

7. Spring Cloud Config為Spring Cloud框架系統(tǒng)提供統(tǒng)一的配置管理,并提供服務(wù)器端(Config Server)和客戶端(Config Client)的支持,Config Server本質(zhì)上是一個用于集中管理配置、獲取遠程配置倉庫的配置信息供客戶端使用的微服務(wù)。在服務(wù)器端的啟動類上配置@EnableConfigServer開啟Config Server功能。

8. Spring Cloud Bus的作用是將各服務(wù)節(jié)點用輕量的消息代理(如RabbitMQ)連接起來,并廣播配置文件的動態(tài)信息和服務(wù)之間的通訊。

9. Spring Cloud Sleuth集成ZipKin,實現(xiàn)微服務(wù)的鏈路監(jiān)控分析。基于Zipkin的服務(wù)在啟動類配置@ EnableZipkinServer開啟Zipkin Server功能,服務(wù)開啟后通過訪問Zipkin Server監(jiān)控頁面監(jiān)控服務(wù)的請求細節(jié)和分析依賴關(guān)系。

三、Docker與微服務(wù)

微服務(wù)雖是先進的架構(gòu),但在系統(tǒng)的復(fù)雜性、服務(wù)的持續(xù)集成方面卻有無法回避的弊端,因此,我們引入了Docker技術(shù)。Docker 是遵從Apache2.0 協(xié)議開源的容器引擎,利用輕量級虛擬化技術(shù)實現(xiàn)資源隔離,并將各種環(huán)境依賴和應(yīng)用統(tǒng)一打包,以達到方便應(yīng)用移植和部署的目的。我們將微服務(wù)打包成獨立的Docker鏡像,之后push到私有鏡像庫中,每次部署服務(wù)時從私有鏡像庫pull下對應(yīng)的鏡像,按照Docker Compose編排好的微服務(wù)調(diào)度方式運行鏡像。

下圖是使用Docker后,微服務(wù)部分的框架圖。多個業(yè)務(wù)系統(tǒng)獨立部署在Docker容器中,將復(fù)雜的應(yīng)用系統(tǒng)拆分成多個功能單一、業(yè)務(wù)邏輯簡單的服務(wù)進行獨立部署。每個微服務(wù)注冊在Eureka Server中,通過聲明式的RESTful API相互調(diào)用。

四、結(jié)束語

通過Spring Cloud和Docker構(gòu)建的應(yīng)用平臺,充分展現(xiàn)了微服務(wù)架構(gòu)的優(yōu)勢,對服務(wù)做到了組件化、服務(wù)化的管理,提升了服務(wù)的持續(xù)集成能力和擴展能力。隨著技術(shù)的進步,微服務(wù)架構(gòu)的系統(tǒng)會更多的被采用,而基于Spring Cloud和Docker構(gòu)建微服務(wù)系統(tǒng)必會成為讓微服務(wù)落地的最佳解決方案。當然隨著技術(shù)的進步,思想、理念的變化,微服務(wù)架構(gòu)的思想仍需要不斷的探索與改進。

猜你喜歡
鏡像客戶端部署
一種基于Kubernetes的Web應(yīng)用部署與配置系統(tǒng)
晉城:安排部署 統(tǒng)防統(tǒng)治
鏡像
當代黨員(2020年20期)2020-11-06 04:17:52
部署
鏡像
小康(2018年23期)2018-08-23 06:18:52
縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
部署“薩德”意欲何為?
太空探索(2016年9期)2016-07-12 10:00:02
鏡像
小康(2015年4期)2015-03-31 14:57:40
湄潭县| 红桥区| 泸溪县| 乐至县| 浦城县| 绥芬河市| 平凉市| 南皮县| 久治县| 钟祥市| 科技| 凭祥市| 昆山市| 保靖县| 昌都县| 太仆寺旗| 新干县| 樟树市| 洱源县| 扶风县| 大理市| 绵阳市| 林芝县| 云浮市| 惠水县| 郴州市| 遂昌县| 青田县| 晋城| 岳普湖县| 两当县| 宝丰县| 明星| 遂川县| 福海县| 香格里拉县| 昆明市| 洱源县| 屏东市| 昌都县| 炉霍县|