当前位置: 首页 > 知识库问答 >
问题:

使用Apache Camel进行负载平衡

益麻雀
2023-03-14

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

    < li >我不需要担心向生产者注册我的工人系统。第六个系统刚刚启动并开始监听主队列。 < li >我不需要担心向免费的用户系统发送消息。当工作系统处理完一条消息后,它会从主队列中拾取另一条消息。< br >请告诉我您对此的想法。

共有3个答案

商同
2023-03-14

最简单的方法是使用 jms。如果您有 n 个路由侦听同一个 jms 队列,那么它们将自动进行负载平衡。如果一个消失,负载将在剩余的负载上平衡。我建议从 ActiveMQ 开始,因为它非常易于设置并且与 Camel.To 使代理高度可用很好地集成,您可以设置两个独立代理或为每个 Camel 实例设置一个嵌入式代理。

杨昆
2023-03-14

SEDA和VMendpoint分别对主机上下文和JVM有效。为了促进JVM-to-JVM消息传递,您需要使用在线协议组件,例如但不限于Mina、HTTP或JMS。

章岳
2023-03-14

SEDA和 VM:// 只在同一个JVM上工作。

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

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

 类似资料:
  • Eureka是否提供开箱即用的负载平衡,是否需要另一个依赖项? 为什么是丝带而不是尤里卡? 为什么通过API网关使用负载平衡? Spring-cloud-starter-loadbalancer,为什么需要这个? 客户端平衡还是服务器端负载平衡,为什么用一个胜过另一个?

  • 我想测试以下骆驼路线。我在网上找到的所有例子都有以文件开头的路由,在我的例子中,我有一个Springbean方法,每隔几分钟就会被调用一次,最后消息被转换并移动到jms以及审计目录。 我对这条路线的写测试毫无头绪。目前我在测试用例中所拥有的是

  • 我有一个使用Spring Boot和Netflix OSS构建的微服务。我使用过中央配置服务器、Eureka和Zuul。由于可伸缩性,服务的多个实例运行在不同的端口上。所有实例都在Eureka中注册,但请求只会发送到最后一个注册的服务器。 ZUUL配置

  • 问题内容: 在docker swarm模式(docker engine 1.12+)下,对于该服务,负载均衡算法是什么? 它可插入吗? 假设它是轮询的,那么高级负载均衡器是否仍然需要它?由于高级负载均衡器正在使用任何路由算法,因此负载将平均分配到每个节点。 问题答案: 该算法目前是循环的,我还没有迹象表明它是可插入的。较高级别的负载均衡器将允许拆卸群集节点进行维护,但是在群集模式下,循环算法将撤消

  • 我正在使用编写负载均衡器。 负载平衡器侦听本地传输地址。就Netty而言,只创建了一个频道来监听该地址。然后,(单线程事件循环组的)单线程将传入的UDP数据包调度到工作线程池进行处理(这里,处理意味着执行负载平衡)。 在出站端,可以使用多个服务器。对于每个接收到的UDP数据包,关联的工作线程选择一个服务器,并将UDP数据包转发到此服务器。为了转发UDP数据包,需要一个通道。 我可以看到四种方法:

  • 我有两条溪流。一个是事件流,另一个是数据库更新流。我想用从DB更新流构建的信息丰富事件流。 事件流非常庞大,使用5个字段进行分区。这给了我很好的分配。DB流不那么喋喋不休,并且使用两个字段进行分区。我目前正在使用两个公共字段连接这两个流,并使用flapMap来丰富第一个流。flatMap运算符使用ValueState维护状态,状态由两个公共字段自动键入。 除了实现自定义逻辑来手动提取键并更新维护状

  • 我正在寻找一些关于负载平衡的指导/评论,我正在开发一个web API。 以下是我目前正在做的,但我在质疑: 我构建的第一个图像(应用程序)内的主应用程序使用docker构建-t应用程序。 我使用docker build-t nginx构建了nginx文件夹内的负载均衡器。 我在Windows上的Docker Desktop中的单独容器上运行图像;端口8080上的应用程序和端口8090上的nginx

  • 我是微服务的新手。(学习阶段)。我有一个问题。我们在云中部署微服务。(例如 AWS)。云已经提供了负载平衡和日志。我们还在Spring Boot中实现了负载平衡(功能区)和日志(Rabbit MQ和Zipkin)。这两种实现有什么区别?我们两者都需要吗?有些人可以回答这些问题吗? 提前感谢。