微服务业务流程

内容纲要

Contoso Pizza 对微服务体系结构迄今为止给他们带来的成果感到非常满意。 整个 Web 应用程序调用单独的微服务来提供和操作数据。

但是,随着添加的服务变得越来越多,整个系统在横向扩展和管理方面变得更加复杂。 业务流程协调程序可以提供帮助。

什么是业务流程协调程序?

如果应用程序基于微服务或只是跨多个容器拆分,则必须使用适用于生产就绪应用程序的业务流程协调程序。 如前所述,在基于微服务的方法中,每个微服务均拥有其模型和数据,如此从开发和部署的角度来看,它便是具有自主性。 这类系统的扩展和管理非常复杂;因此,如果想要拥有生产就绪且可缩放的多容器应用程序,则必须使用业务流程协调程序。

下图介绍如何部署到由多个微服务(群集)组成的应用程序群集。

此图显示了部署为 2 个应用程序的 6 个 Docker 映像。 然后,将应用程序部署为多个群集。 此图旨在说明在没有工具帮助的情况下执行部署的困难程度。

为每个服务实例使用一个容器。 Docker 容器是“部署单元”,容器是 Docker 映像的实例。 一个主机可以处理多个容器。 它看上去类似于逻辑方法。 业务流程协调程序有助于部署容器和管理主机。

为什么要使用业务流程协调程序?

将业务流程协调程序与容器化的微服务体系结构结合使用有很多优点。

业务流程协调程序有助于将包含多个微服务的应用程序组合到一个可部署单元中。 然后可将该单元移动(或部署)到主机。

部署完成后,业务流程协调程序将帮助管理该主机。 它可以自动启动容器、使用每个映像的多个实例对其进行横向扩展、将其挂起,或在需要时将其关闭。 业务流程协调程序还可以控制容器访问网络和数据存储等资源的方式。

当复杂分布式系统中多个主机上存在多个容器时,业务流程协调程序可以执行负载均衡和路由等任务。 它们还可以监视容器和主机的运行状况。

Docker Compose

Contoso Pizza 使用的简单网站并不需要使用功能齐全的业务流程协调程序。 他们需要的是一种工具,使用该工具,他们能够将多个 Docker 映像作为一个单元一起生成,然后部署该单元。

Docker Compose 是满足其需求的理想工具。

使用 Docker Compose,Contoso Pizza 可以使用 YAML 文件来配置应用程序的服务。 然后,Docker Compose 工具提供了一种生成各个服务的方法,以及启动这些服务的方法。

 备注

默认情况下,Docker Compose 工具随桌面版 Docker 一起安装,这使得在本地运行所有容器及其依赖项更加容易。 对于生产方案,我们建议使用业务流程协调程序来更好地控制容器的自动部署、缩放和管理。

给TA打赏
共{{data.count}}人
人已打赏
.NET

为微服务生成 Dockerfile

2022-8-19 12:06:14

.NET

第2章 验证控件

2022-8-19 15:18:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索