响应式微服务 in java 译 十五 Microservices in OpenShift
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
到目前為止,我們只在本地機器上部署了我們的微服務(wù)。當(dāng)我們在云上部署一個微服務(wù)時會發(fā)生什么?大多數(shù)云平臺都包含相應(yīng)服務(wù),使您的部署和操作更加容易。向上和向下擴展的能力以及負(fù)載平衡是一些常見的特性,特別適合于開發(fā)響應(yīng)性微服務(wù)。在本章中,我們將看到如何使用這些特性(以及其他特性)來開發(fā)和部署響應(yīng)性微服務(wù)。
為了說明這些好處,我們將使用OpenShift(https://www.open shi.org/)。然而,大多數(shù)現(xiàn)代云平臺都包含了我們在這里使用的功能。在本章的末尾,您將看到cloud如何使每個人的響應(yīng)式微服務(wù)變得容易。
What Is OpenShift?
RedHatOpenShift v3是一個開源容器平臺。使用OpenShift,您可以部署在容器中運行的應(yīng)用程序,這使得它們的構(gòu)造和管理變得簡單。OpenShift構(gòu)建在Kubernetes之上(https://kubernetes.io/)
Kubernetes(圖5-1中藍(lán)色)是一個具有大量功能的項目,用于在Linux容器中大規(guī)模運行微服務(wù)集群。Google已經(jīng)將十多年的經(jīng)驗包裝成了Kubernetes。
OpenShift是在此經(jīng)驗的基礎(chǔ)上構(gòu)建的,并通過構(gòu)建和部署自動化( 圖5-1 綠色的)。例如rolling updates, canary deployments 和連續(xù)交付管道等用例都是免費提供的。
OpenShift有一些簡單的entities,如圖5-2所示,我們需要了解這些實體,然后才能讓它工作。
Build Configuration
構(gòu)建是創(chuàng)建容器映像的過程,OpenShift將使用容器鏡像實例化組成應(yīng)用程序的不同容器。OpenShift構(gòu)建可以使用不同的策略:
Docker—從Dockerfile構(gòu)建鏡像
獲取鏡像(S2I)-從應(yīng)用程序構(gòu)建鏡像,由OpenShift上的構(gòu)建器創(chuàng)建
Jenkins Pipline-使用Jenkins Pipline(https://jenkins.io/doc/book/管道)構(gòu)建映像,該管道可能包含多個階段,如構(gòu)建、測試和部署。
構(gòu)建配置可以通過git推送、配置更改或依賴鏡像中的更新自動觸發(fā),顯然,還可以手動觸發(fā)。
Deployment Con gurations
部署配置定義生成的鏡像的實例化。它定義了用于創(chuàng)建容器的鏡像以及需要保持活動的實例數(shù)。它還描述了何時應(yīng)觸發(fā)部署。部署還充當(dāng)復(fù)制控制器,負(fù)責(zé)保持容器的存活。要實現(xiàn)這一點,需要傳遞所需實例的數(shù)量。所需實例的數(shù)量可以隨時間進行調(diào)整,也可以根據(jù)負(fù)載波動進行調(diào)整(自動縮放)。
部署還可以指定健康檢查,以管理滾動更新和檢測死容器。
Pods
Pod是由一個或多個容器組成的一組。但是,它通常由單個容器組成。POD的編排、調(diào)度和管理委托給Kubernetes。Pod是可替換的,可以在任何時候被另一個實例替換。例如,如果容器崩潰,將生成另一個實例。
Services and Routes
因為Pod是動態(tài)實體(實例的數(shù)量會隨著時間的推移而變化),所以我們不能依賴它們的直接IP地址(每個POD都有自己的IP地址)。服務(wù)允許我們通過使用服務(wù)虛擬地址,而不依賴于它們的地址來與Pod進行通信。服務(wù)在一組Pod前充當(dāng)代理。它還可以實現(xiàn)負(fù)載平衡策略。
在OpenShift中運行的其他應(yīng)用程序可以使用該服務(wù)訪問PODS提供的功能,但外部應(yīng)用程序需要一條路由。路由在主機名(如www.myservice.com)上公開服務(wù),以便外部客戶端可以通過名稱訪問該服務(wù)。
Installing OpenShift on Your Machine
抽象的概念夠了了,在是行動的時候了。我們將使用minishift(https://github.com/minishi/minishi)在您的計算機上安裝OpenShift。或者,您也可以使用OpenShift在線(https://www.openshi.com/dev預(yù)覽/)或RedHat容器開發(fā)工具包v3(https://developers.redhat.com/Products/cdk/Download/)。
安裝minishift(https://github.com/minishi/minishi#installa)需要一個虛擬機管理程序來運行包含OpenShift的虛擬機。根據(jù)您的主機操作系統(tǒng),您可以選擇超視鏡;有關(guān)詳細(xì)信息,請參閱迷你安裝指南。要安裝minishift,只需從minishift發(fā)布頁面(https://github.com/minishi/minishi/version)下載操作系統(tǒng)的最新存檔,將其解壓到首選位置,并在OpenShift中添加DeployingReactiveMicroservices。將二進制文件移至PATH環(huán)境變量。安裝后,使用以下命令啟動minishift:
一旦啟動,您應(yīng)該能夠連接到https://192.168.64.12:8443上的OpenShift實例。您可能必須驗證SSL證書,用 developer/developer 登錄。
我們還需要OpenShift客戶機(Oc),這是一個用于與OpenShift實例交互的命令行實用工具。從https下載OpenShift客戶端的最新版本://github.com/openshi/source/ReleaseS。將其解壓縮到您喜歡的位置,并將oc二進制文件添加到PATH環(huán)境變量中。
然后,使用以下命令連接到OpenShift實例:
OpenShift有一個名為Project的命名空間概念。要為我們將要部署的示例創(chuàng)建項目,請執(zhí)行:
在瀏覽器中,打開https://192.168.64.12:8443/控制臺/project/reactive-microservices/。您應(yīng)該能夠看到這個項目,目前它并不是很有趣,因為我們還沒有部署任何東西(圖5-3)。
原文地址:
https://developers.redhat.com/promotions/building-reactive-microservices-in-java/
有什么討論的內(nèi)容,可以加我微信公眾號:
轉(zhuǎn)載于:https://my.oschina.net/u/2277632/blog/1633249
總結(jié)
以上是生活随笔為你收集整理的响应式微服务 in java 译 十五 Microservices in OpenShift的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity集成openinstall流程
- 下一篇: Android Studio 第六十一期