[英]Implementing custom client-side load balancing policy in hornetq
我想在HornetQ中实施一个取决于节点IP地址的负载平衡策略。 例如,如果指定的节点可用,则将其连接到该节点,否则连接到一个随机节点。 但是,ConnectionLoadBalancingPolicy接口仅将数字作为输入
int select (int max);
假设最大为3,我想在选择节点之前知道IP地址0,1,2。 那可能吗?
它是在HornetQ文档的该部分中编写的:
可以通过以下两种方法之一确定工厂负载平衡所在的服务器集:
Specifying servers explicitly Using discovery.
那么,如何使用发现方式获得它们并将它们与从ConnectionLoadBalancingPolicy获得的最大数量进行匹配?
谢谢,萨米
您可以通过执行以下操作在客户端的ServerLocator上指定自定义负载均衡器:
ServerLocator locator = ....
locator.setConnectionLoadBalancingPolicyClassName("YOUR-CLASS-NAME);
但是,当前版本不允许您访问拓扑阵列。
我们应该更改实现,以将topologyArray发送给select方法。 如果您打开JIRA,我们将为您解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.