我在 Wildfly 容器中运行大型 EE 应用程序。每个实例目前都是独立的,但我认为这不是最佳选择。
我认为我应该运行一个域集群,并让每个容器在其生命周期中自行注册和注销。这至少可以让我共享配置设置,并从某个单点监控集群和各个成员的健康状况。
这方面的最佳实践是什么?
对于那些渴望谈论 wildfly-swarm 的人,我还没有开始使用它,但非常感谢您的评论,并欢迎您发表评论。
答案1
这是一个复杂的问题。但一般来说,为了实现这种自动化,您需要构建正确的容器映像,然后注入动态变量(IP/主机名和凭据)。简化创建自注册实例的主要规则是每个容器只放置一个 Worker。然后,您可以在主机-从机.xml以及指定用户和密码通过环境变量将每个新的 Worker 连接到 Controller。
域模式下的集群可能是一项棘手的任务,请查看提供运行提示和技巧的文章容器中的 WildFly 托管域:自动微集群和扩展- 将 WildFly 从虚拟机迁移到容器时可能出现的问题的高层概述。