问题描述
小弟配置了一个ActiveMQ集群,每个节点的配置如下:<transportConnectors><transportConnectorname="openwire"uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"updateClusterClients="true"rebalanceClusterClients="true"updateClusterClientsOnRemove="true"discoveryUri="multicast://default"/></transportConnectors><networkConnectors><networkConnectoruri="multicast://default"/></networkConnectors>
也即:节点与节点之间的连接关系可以通过动态查找算法确定,然后生产者或者消费者连接节点的时候的地址列表也会动态得到更新。现在遇到了一个问题,就是在某些情况下,所有的消费者都连向了同一个节点,这就导致了不在该节点上的数据都被传送到该节点,这对网络造成了一定的压力。请教大家,怎么解决这个问题,ActiveMQ选择节点地址不是随机的吗?怎么会出现这种情况?如果ActiveMQ不能解决这个问题,有什么其他的替代的中间件可使用解决这个问题呢?谢谢
解决方案
解决方案二:
应该能够指定目标服务器(一个或者多个)去发送消息。如果做不到这一点,那么就从底层框架上重新选型吧。
解决方案三:
恩,有什么好的底层框架可以推荐,试过Kafka不能满足要求
时间: 2024-11-03 16:07:37