• 
    

    
    

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

      ?

      基于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,面向負(fù)載均衡的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)控和認(rèn)證。在服務(wù)啟動類上配置@EnableZuulProxy即可開啟Zuul的動態(tài)路由作用,而在啟動類內(nèi)部配置繼承了ZuulFilter類的過濾器實現(xiàn)類可開啟Zuul的請求過濾功能。

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

      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ì)上是一個用于集中管理配置、獲取遠(yuǎn)程配置倉庫的配置信息供客戶端使用的微服務(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)控分析?;赯ipkin的服務(wù)在啟動類配置@ EnableZipkinServer開啟Zipkin Server功能,服務(wù)開啟后通過訪問Zipkin Server監(jiān)控頁面監(jiān)控服務(wù)的請求細(xì)節(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)一打包,以達(dá)到方便應(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ù)落地的最佳解決方案。當(dāng)然隨著技術(shù)的進步,思想、理念的變化,微服務(wù)架構(gòu)的思想仍需要不斷的探索與改進。

      猜你喜歡
      鏡像客戶端部署
      一種基于Kubernetes的Web應(yīng)用部署與配置系統(tǒng)
      晉城:安排部署 統(tǒng)防統(tǒng)治
      鏡像
      部署
      鏡像
      小康(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
      峡江县| 邯郸市| 松滋市| 遵化市| 山阳县| 迁安市| 兴国县| 土默特右旗| 鄂伦春自治旗| 新邵县| 天津市| 庐江县| 岳西县| 临潭县| 新宁县| 时尚| 革吉县| 沛县| 玉山县| 普格县| 建宁县| 江安县| 嘉兴市| 平顺县| 邛崃市| 微山县| 舒兰市| 平安县| 平舆县| 集安市| 菏泽市| 盐边县| 来凤县| 宁蒗| 郁南县| 盘山县| 大埔县| 琼结县| 克东县| 永年县| 长泰县|