Apache Camel和Netty作为TCP粘性平衡器
我正试图通过ApacheCamel和Netty在多个后端服务器上实现TCP连接的负载平衡 我想将每个到后端的连接映射到每个到Camel的连接。大概是这样的:Apache Camel和Netty作为TCP粘性平衡器,tcp,apache-camel,netty,load-balancing,Tcp,Apache Camel,Netty,Load Balancing,我正试图通过ApacheCamel和Netty在多个后端服务器上实现TCP连接的负载平衡 我想将每个到后端的连接映射到每个到Camel的连接。大概是这样的: 客户端连接到Camel Camel选择一个后端服务器并连接到它 客户端向Camel发送一些内容 Camel将其发送到关联的后端服务器 后端服务器回复Camel Camel将其发送回客户端 我的协议是有状态的,客户端和Camel之间的连接将保持打开状态。我还需要从后端到客户端的消息 到目前为止,一切顺利。这是相当不错的工作。 当我连接到同一
from("direct:start").loadBalance().
sticky(header("source")).to("mock:x", "mock:y", "mock:z");
我已经做过了。这很好用。问题是到camel的新连接重用了到后端的相同连接。是的,camel-netty尝试尽可能重用该连接。如果连接处于活动状态,则不会为其启动新连接。如果你想改变这种行为,我们需要在camel netty producer内部实现一个新的对象池,以便在代理客户端不同的情况下启动一个新的连接。我明白了。谢谢你的提示。我认为骆驼也不能进行双向沟通。所以它需要更多的改变,也许这甚至不是骆驼的重点。所以我要自己编写整个路由器和平衡器的代码。