繁体   English   中英

在Hornetq中实施自定义客户端负载平衡策略

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM