使用apachecamel进行负载平衡

使用apachecamel进行负载平衡,apache,load-balancing,apache-camel,Apache,Load Balancing,Apache Camel,我可以从另一台机器或JVM访问SEDA或VM队列吗 实际上,我想在Camel的帮助下实现负载平衡,但不想为此引入另一个消息传递框架。我只想使用一些内置队列将负载从生产者分配给不同的消费者。 可能吗?如果没有,那么我的选择是什么? 另一种方法:(拉法) 不确定新方法的最佳效果如何,或者新方法的优缺点是什么,所以请帮助我分析此方法。 消息将被放入主队列,所有工作系统将侦听主队列。假设100000条消息被放入主队列,5个工作系统正在侦听。工作系统将逐个处理来自主队列的消息。这种方法有两大好处: 我不需

我可以从另一台机器或JVM访问SEDA或VM队列吗
实际上,我想在Camel的帮助下实现负载平衡,但不想为此引入另一个消息传递框架。我只想使用一些内置队列将负载从生产者分配给不同的消费者。
可能吗?如果没有,那么我的选择是什么?
另一种方法:(拉法) 不确定新方法的最佳效果如何,或者新方法的优缺点是什么,所以请帮助我分析此方法。
消息将被放入主队列,所有工作系统将侦听主队列。假设100000条消息被放入主队列,5个工作系统正在侦听。工作系统将逐个处理来自主队列的消息。这种方法有两大好处:

  • 我不需要担心向生产商注册我的工人系统。第六个系统刚刚启动并开始侦听主队列
  • 我不需要担心向免费的消费者系统发送消息。当工作系统处理完一条消息后,它会从主队列中拾取另一条消息。
    让我知道你的想法

  • SEDA和VM端点分别对主机上下文和JVM有效。为了方便JVM到JVM的消息传递,您需要使用线上协议组件,例如但不限于Mina、HTTP或JMS。

    最简单的方法是使用JMS。如果有n条路由侦听同一jms队列,那么它们将自动实现负载平衡。如果其中一个离开,负载将与其余的负载平衡。我建议从ActiveMQ开始,因为它非常容易设置,并且与Camel集成良好。要使代理高度可用,您可以为每个Camel实例设置两个独立代理或一个嵌入式代理。

    SEDA和VM://仅在同一JVM上工作

    Java消息传递中的负载平衡通常使用JMS和。您将消息发送到队列,多个使用者竞争处理它们


    如果其队列中的代理成为瓶颈——考虑使用扇出模式和经纪商网络。

    您太棒了!你建议的和我需要的一样!