在hornetq中实现自定义客户端负载均衡策略
我想在 HornetQ 中实现一个取决于节点 IP 地址的负载平衡策略。例如,如果指定节点可用,则将其连接到该节点,否则连接到随机节点。 但是,ConnectionLoadBalancingPolicy 接口仅向我提供数字形式的输入。
int select (int max);
假设最大值为 3,我想在选择节点之前知道 0、1、2 的 IP 地址。这可能吗?
HornetQ 文档的该部分写道:
可用于工厂负载平衡的服务器集 通过以下两种方式之一确定:
显式指定服务器 使用发现。
那么如何使用发现来获取它们并将它们与从 ConnectionLoadBalancingPolicy 获得的最大数量相匹配?
谢谢, 萨米人
I want to implement a load balancing policy in HornetQ that depends on the IP Addresses of the nodes. For example, if a specified node is available connect it to it, otherwise connect to a random node.
However, the ConnectionLoadBalancingPolicy interface only gives me the input as a number
int select (int max);
Let's assume that the max is three, I want to know the IP Address of 0,1,2 before selecting the node. Is that possible?
It is written in that section in HornetQ documentation:
The set of servers over which the factory load balances can be
determined in one of two ways:Specifying servers explicitly Using discovery.
So how can I get them using discovery and match them to the max number I get from ConnectionLoadBalancingPolicy ?
Thanks,
Sami
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过执行以下操作在客户端的 ServerLocator 上指定自定义负载均衡器,
但是当前版本不允许您访问拓扑阵列。
我们应该更改我们的实现,将 topologyArray 发送到 select 方法。如果您打开 JIRA,我们会处理。
You can specify a custom Load Balancer at the Client's ServerLocator by doing
However the current version doesn't allow you access at the topology array.
We should change our implementation to send the topologyArray to the select method. If you open a JIRA we will take care of that.