響應式微服務 in java 譯 <十五> Microservices in OpenShift

到目前爲止,咱們只在本地機器上部署了咱們的微服務。當咱們在雲上部署一個微服務時會發生什麼?大多數雲平臺都包含相應服務,使您的部署和操做更加容易。向上和向下擴展的能力以及負載平衡是一些常見的特性,特別適合於開發響應性微服務。在本章中,咱們將看到如何使用這些特性(以及其餘特性)來開發和部署響應性微服務。java

爲了說明這些好處,咱們將使用OpenShift(https://www.open shi.org/)。然而,大多數現代雲平臺都包含了咱們在這裏使用的功能。在本章的末尾,您將看到cloud如何使每一個人的響應式微服務變得容易。react

What Is OpenShift?git

RedHatOpenShift v3是一個開源容器平臺。使用OpenShift,您能夠部署在容器中運行的應用程序,這使得它們的構造和管理變得簡單。OpenShift構建在Kubernetes之上(https://kubernetes.io/)github

Kubernetes(圖5-1中藍色)是一個具備大量功能的項目,用於在Linux容器中大規模運行微服務集羣。Google已經將十多年的經驗包裝成了Kubernetes。瀏覽器

OpenShift是在此經驗的基礎上構建的,並經過構建和部署自動化( 圖5-1 綠色的)。例如rolling updates, canary deployments 和連續交付管道等用例都是免費提供的。微信

OpenShift有一些簡單的entities,如圖5-2所示,咱們須要瞭解這些實體,而後才能讓它工做。微服務

Build Configuration工具

構建是建立容器映像的過程,OpenShift將使用容器鏡像實例化組成應用程序的不一樣容器。OpenShift構建可使用不一樣的策略:開發工具

Docker—從Dockerfile構建鏡像測試

獲取鏡像(S2I)-從應用程序構建鏡像,由OpenShift上的構建器建立

Jenkins Pipline-使用Jenkins Pipline(https://jenkins.io/doc/book/管道)構建映像,該管道可能包含多個階段,如構建、測試和部署。

構建配置能夠經過git推送、配置更改或依賴鏡像中的更新自動觸發,顯然,還能夠手動觸發。

Deployment Con gurations

部署配置定義生成的鏡像的實例化。它定義了用於建立容器的鏡像以及須要保持活動的實例數。它還描述了什麼時候應觸發部署。部署還充當複製控制器,負責保持容器的存活。要實現這一點,須要傳遞所需實例的數量。所需實例的數量能夠隨時間進行調整,也能夠根據負載波動進行調整(自動縮放)。

部署還能夠指定健康檢查,以管理滾動更新和檢測死容器。

Pods

Pod是由一個或多個容器組成的一組。可是,它一般由單個容器組成。POD的編排、調度和管理委託給Kubernetes。Pod是可替換的,能夠在任什麼時候候被另外一個實例替換。例如,若是容器崩潰,將生成另外一個實例。

Services and Routes

由於Pod是動態實體(實例的數量會隨着時間的推移而變化),因此咱們不能依賴它們的直接IP地址(每一個POD都有本身的IP地址)。服務容許咱們經過使用服務虛擬地址,而不依賴於它們的地址來與Pod進行通訊。服務在一組Pod前充當代理。它還能夠實現負載平衡策略。

在OpenShift中運行的其餘應用程序可使用該服務訪問PODS提供的功能,但外部應用程序須要一條路由。路由在主機名(如www.myservice.com)上公開服務,以便外部客戶端能夠經過名稱訪問該服務。

Installing OpenShift on Your Machine

抽象的概念夠了了,在是行動的時候了。咱們將使用minishift(https://github.com/minishi/minishi)在您的計算機上安裝OpenShift。或者,您也可使用OpenShift在線(https://www.openshi.com/dev預覽/)或RedHat容器開發工具包v3(https://developers.redhat.com/Products/cdk/Download/)。

安裝minishift(https://github.com/minishi/minishi#installa)須要一個虛擬機管理程序來運行包含OpenShift的虛擬機。根據您的主機操做系統,您能夠選擇超視鏡;有關詳細信息,請參閱迷你安裝指南。要安裝minishift,只需從minishift發佈頁面(https://github.com/minishi/minishi/version)下載操做系統的最新存檔,將其解壓到首選位置,並在OpenShift中添加DeployingReactiveMicroservices。將二進制文件移至PATH環境變量。安裝後,使用如下命令啓動minishift:

一旦啓動,您應該可以鏈接到https://192.168.64.12:8443上的OpenShift實例。您可能必須驗證SSL證書,用 developer/developer 登陸。

咱們還須要OpenShift客戶機(Oc),這是一個用於與OpenShift實例交互的命令行實用工具。從https下載OpenShift客戶端的最新版本://github.com/openshi/source/ReleaseS。將其解壓縮到您喜歡的位置,並將oc二進制文件添加到PATH環境變量中。

而後,使用如下命令鏈接到OpenShift實例:

OpenShift有一個名爲Project的命名空間概念。要爲咱們將要部署的示例建立項目,請執行:

在瀏覽器中,打開https://192.168.64.12:8443/控制檯/project/reactive-microservices/。您應該可以看到這個項目,目前它並非頗有趣,由於咱們尚未部署任何東西(圖5-3)。

原文地址:

https://developers.redhat.com/promotions/building-reactive-microservices-in-java/

有什麼討論的內容,能夠加我微信公衆號:

相關文章
相關標籤/搜索