版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請注明出處,歡迎交流學(xué)習(xí)!

       基于微服務(wù)架構(gòu)和Docker容器技術(shù)的PaaS云平臺(tái)建設(shè)目標(biāo)是給我們的開發(fā)人員提供一套服務(wù)快速開發(fā)、部署、運(yùn)維管理、持續(xù)開發(fā)持續(xù)集成的流程。平臺(tái)提供基礎(chǔ)設(shè)施、中間件、數(shù)據(jù)服務(wù)、云服務(wù)器等資源,開發(fā)人員只需要開發(fā)業(yè)務(wù)代碼并提交到平臺(tái)代碼庫,做一些必要的配置,系統(tǒng)會(huì)自動(dòng)構(gòu)建、部署,實(shí)現(xiàn)應(yīng)用的敏捷開發(fā)、快速迭代。在系統(tǒng)架構(gòu)上,PaaS云平臺(tái)主要分為微服務(wù)架構(gòu)、Docker容器技術(shù)、DveOps三部分,這篇文章重點(diǎn)介紹微服務(wù)架構(gòu)的實(shí)施。

       實(shí)施微服務(wù)需要投入大量的技術(shù)力量來開發(fā)基礎(chǔ)設(shè)施,這對很多公司來說顯然是不現(xiàn)實(shí)的,別擔(dān)心,業(yè)界已經(jīng)有非常優(yōu)秀的開源框架供我們參考使用。目前業(yè)界比較成熟的微服務(wù)框架有Netflix、Spring Cloud和阿里的Dubbo等。Spring Cloud是基于Spring Boot的一整套實(shí)現(xiàn)微服務(wù)的框架,它提供了開發(fā)微服務(wù)所需的組件,跟Spring Boot一起使用的話開發(fā)微服務(wù)架構(gòu)的云服務(wù)會(huì)變的很方便。Spring Cloud包含很多子框架,其中Spring Cloud Netflix是其中的一套框架,在我們的微服務(wù)架構(gòu)設(shè)計(jì)中,就使用了很多Spring Cloud Netflix框架的組件。Spring Cloud Netflix項(xiàng)目的時(shí)間還不長,相關(guān)的文檔資料很少,博主當(dāng)時(shí)研究這套框架啃了很多英文文檔,簡直痛苦不堪。對于剛開始接觸這套框架的同學(xué),要搭建一套微服務(wù)應(yīng)用架構(gòu),可能會(huì)不知道如何下手,接下來介紹我們的微服務(wù)架構(gòu)搭建過程以及需要那些框架或組件來支持微服務(wù)架構(gòu)。

       為了直接明了的展示微服務(wù)架構(gòu)的組成及原理,博主畫了一張系統(tǒng)架構(gòu)圖,如下:

       大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

       

       從上圖可以看出,微服務(wù)訪問大致路徑為:外部請求 → 負(fù)載均衡 → 服務(wù)網(wǎng)關(guān)(GateWay)→ 微服務(wù) → 數(shù)據(jù)服務(wù)/消息服務(wù)。服務(wù)網(wǎng)關(guān)和微服務(wù)都會(huì)用到服務(wù)注冊和發(fā)現(xiàn)來調(diào)用依賴的其他服務(wù),各服務(wù)集群都能通過配置中心服務(wù)來獲得配置信息。

       服務(wù)網(wǎng)關(guān)(GateWay)

       網(wǎng)關(guān)是外界系統(tǒng)(如:客戶端瀏覽器、移動(dòng)設(shè)備等)和企業(yè)內(nèi)部系統(tǒng)之間的一道門,所有的客戶端請求通過網(wǎng)關(guān)訪問后臺(tái)服務(wù)。為了應(yīng)對高并發(fā)訪問,服務(wù)網(wǎng)關(guān)以集群形式部署,這就意味著需要做負(fù)載均衡,我們采用了亞馬遜EC2作為虛擬云服務(wù)器,采用ELB(Elastic Load Balancing)做負(fù)載均衡。EC2具有自動(dòng)配置容量功能,當(dāng)用戶流量達(dá)到尖峰,EC2可以自動(dòng)增加更多的容量以維持虛擬主機(jī)的性能。ELB彈性負(fù)載均衡,在多個(gè)實(shí)例間自動(dòng)分配應(yīng)用的傳入流量。為了保證安全性,客戶端請求需要使用https加密保護(hù),這就需要我們進(jìn)行SSL卸載,使用Nginx對加密請求進(jìn)行卸載處理。外部請求經(jīng)過ELB負(fù)載均衡后路由到GateWay集群中的某個(gè)GateWay服務(wù),由GateWay服務(wù)轉(zhuǎn)發(fā)到微服務(wù)。服務(wù)網(wǎng)關(guān)作為內(nèi)部系統(tǒng)的邊界,它有以下基本能力:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式