gpt4 book ai didi

java - 如何在带有 Zookeeper 和 ActiveMQ 的集群环境中使用 Apache Camel

转载 作者:行者123 更新时间:2023-12-02 09:28:54 26 4
gpt4 key购买 nike

我有 3 个服务器(1 个主服务器,2 个从服务器)。每个都安装了Zookeeper(最新版本)和ActiveMQ(最新版本,但不是artemis)。ActiveMQ被配置为基于Zookeepers节点的Replicated Level-DB。

现在我想使用 Apache Camel 进行消息路由。

Camel 路线应该位于哪里?我写了一个Spring Boot App但我想要像 ActiveMQ 那样进行故障转移。

所以我读到了将 jar 放入 activeMQ lib 目录并设置 XML 配置 Enterprise Integration Patterns

另一种方法是使用 Camel 组件

有人曾经遇到过这个问题并想分享解决方案吗?

最佳答案

呃哦,正如评论中提到的,请注意 Level DB 的内容,因为它已已弃用。仅在彻底测试后才使用它!在我们的测试中,它运行得非常好。但是,当级别数据库由于某种原因损坏时,数据就会丢失。 我们永远无法恢复 Level DB。不太适合生产。

并且甚至不要考虑基于 NFS 的解决方案。 NFS 确实不适合这个,我们在测试中遇到了很多问题。例如,我们经常管理它有多个主人或根本没有主人。所以我们放弃了。

最后,我们使用普通单一代理,因为解决主/从或复制设置中的问题的复杂性可能非常高。尽管存在“单点故障”,但我们几乎从未发生过任何计划外停机。

但是,很多人告诉我,经纪人网络可以很好地实现冗余设置。其中至少有一个谈论的是一个非常大的环境。

嗯,这并不是你问题的真正答案,不是吗?

您可以将 Camel 路由放在代理 XML 配置旁边,然后这些路由在 ActiveMQ 进程内运行。 See here for an example

如果您想构建一个 SpringBoot 应用程序来运行 Broker,您只需使 Camel 上下文在 Spring 中可用,就应该可以使用它。

关于java - 如何在带有 Zookeeper 和 ActiveMQ 的集群环境中使用 Apache Camel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58130933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com