Apache camel 跨多个实例更新Camel上下文

Apache camel 跨多个实例更新Camel上下文,apache-camel,hawtio,Apache Camel,Hawtio,我是Camel(和Hawtio)的新手,如果有人能建议一个已经可用的解决方案,或者我们考虑过的解决方案中哪一个是最合适/最佳实践,我将不胜感激 研究 我看过负载平衡和集群骆驼文档,但它们都不太适合我们的情况。我也做过一些谷歌搜索,到目前为止,我发现最接近的是这个讨论:但我不确定这是否是同一个问题 我还检查了Hawtio问题()以查看是否已经要求了此要求,但我认为没有 架构 当前系统由在多个VM中部署/复制的遗留web服务组成。负载平衡器位于这些虚拟机前面,并管理命中它们的请求 我们的Camel应

我是Camel(和Hawtio)的新手,如果有人能建议一个已经可用的解决方案,或者我们考虑过的解决方案中哪一个是最合适/最佳实践,我将不胜感激

研究

我看过负载平衡和集群骆驼文档,但它们都不太适合我们的情况。我也做过一些谷歌搜索,到目前为止,我发现最接近的是这个讨论:但我不确定这是否是同一个问题

我还检查了Hawtio问题()以查看是否已经要求了此要求,但我认为没有

架构

当前系统由在多个VM中部署/复制的遗留web服务组成。负载平衡器位于这些虚拟机前面,并管理命中它们的请求

我们的Camel应用程序将部署到遗留应用程序前面和负载平衡器后面的每个vm中的Tomcat实例。Camel应用程序的角色最初是控制从遗留web服务到新web服务的迁移。特别是,它将允许管理各种A/B测试,其中包括根据有效负载内容将请求/响应路由到遗留系统或新系统等。每个VM上的Camel应用程序都是相同的

问题

我们希望能够在运行时一次性更新所有虚拟机上的Camel上下文(并将其持久化),而不是单独更新每个上下文

我们已经快速查看了hawtio,这看起来将为我们提供运行时更新(希望是持久性),但它似乎是一次针对一个Camel实例(我们可以看到,您可以将它指向多个jolokia代理)

理想情况下,我们希望在Hawtio中更新一个上下文,按update,它会更新每个VM中运行的所有Camel上下文。据我所知(我们刚刚开始调查),目前在Hawtio没有办法做到这一点

建议的解决方案

迄今为止考虑的解决方案包括:-

  • 将一个Camel上下文放在所有Camel实例指向的交叉装载文件夹中
  • 将上下文放在一个数据库中,所有Camel实例都从该数据库中读取
  • 创建一个简单的web客户端(或开发Hawtio Camel插件),通过Rest/JMX更新多个客户端
  • 在Hawtio Camel插件项目中提出问题请求并逃跑。:)
    这就是fabric8/JBoss Fuse所能做的。它是一个支持集群的集成平台。因此,您可以在集群(结构)中管理服务器,然后从管理控制台/外壳推出升级/降级/新安装等

    有一些视频在现场演示了这一点

    例如,这个:


    看一看,我认为它可能非常适合您的场景。或者使用负载平衡器后面的群集Apache Karaf实例。感谢您的建议,我将做一些调查,并让您知道我的进展情况。谢谢Claus。我来看看。