响应式微服务 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/

有什么讨论的内容,能够加我微信公众号:

相关文章
相关标签/搜索