1

我对 MULE ESB 和部署有点陌生。我一直在围绕将 mule 应用程序部署到 mule Standalone 进行一些试验。我正在使用类似于此 https://dzone.com/articles/dockerizing-clustering-and-queueing-up-with-mule-e的方法

但我的问题是,如果我有一个 mule 集群,在其中部署我的 mule 代理和 mule API,有没有办法做到这一点?如何将单个 docker 图像绑定到同一个 mule 集群?或者,如果我有如上述方法中提到的具有 mule 运行时的单个容器,我将如何将这些容器绑定到同一个集群中?

4

1 回答 1

1

让我们一一分解您的问题,并尝试回答它。

if I have a mule cluster where in I deploy my mule proxies and also mule APIs , Is there any way to do that ?

如果你有3.8版本之前的 Mule 运行时,你需要 APi 网关来单独部署你的 API 代理。但是在 Mule 3.8版本之后,Mulesoft 统一了 Mule 运行时和 API 网关,这意味着您的 API 代理可以直接部署到 Mule 运行时中。您的代理不需要单独的 API 网关。
所有的 API、代理和策略都可以直接部署到 Mule 运行时中。
https://blogs.mulesoft.com/dev/mule-dev/announcing-mule-3-8-unified-runtime-integration-api-management/

How would I bind individual docker images to the same mule cluster? 

如果你仔细阅读这篇文章,你可以看到在 Docker 中创建一个 Mule 集群部分。
每个集群有 2 个属性配置文件,用于定义每个集群的属性,以及将运行时绑定为集群的YAML文件。 这个YAML文件指出了描述每个集群属性的属性文件。

还有一个Docker镜像文件,它采用以前的基础镜像(在顶部描述FROM anirban-mule-demo),创建 Mule 运行时,并根据那里定义的内容部署 Mule 应用程序。

当您使用命令时:YAML文件将两个运行时绑定docker-compose build在Docker 容器中构建Mule 集群。在后台,基础映像运行两次,创建 2 个不同的 Mule 运行时,然后使用2 个属性配置文件创建集群,这些配置文件描述了具有单个节点的每个集群属性。

它实际上使用了从属性文件创建 Mule 集群的过程,这是使用 Mule 集群的另一种方式。您可以在此处
找到如何从属性文件创建 Mule 集群的示例

现在最后你可以使用docker run命令启动集群中的 Mule 运行时,并且其中的应用程序将获得不同的 http 端口 7082,并8082分别在docker run命令中定义。

希望这有帮助

于 2018-11-12T19:26:20.270 回答