【问题标题】:Implementing custom client-side load balancing policy in hornetq在 hornetq 中实现自定义客户端负载均衡策略
【发布时间】:2011-11-17 19:21:18
【问题描述】:

我想在 HornetQ 中实现一个依赖于节点 IP 地址的负载平衡策略。例如,如果指定的节点可用,则将其连接到该节点,否则连接到随机节点。 然而,ConnectionLoadBalancingPolicy 接口只给我一个数字输入

int select (int max);

假设最大值为3,我想知道0,1,2的IP地址在选择节点之前。这可能吗?

它写在 HornetQ 文档的那部分:

可以在其上进行工厂负载平衡的一组服务器 通过以下两种方式之一确定:

Specifying servers explicitly

Using discovery.

那么如何使用发现来获取它们并将它们与我从 ConnectionLoadBalancingPolicy 获得的最大数量相匹配?

谢谢, 萨米人

【问题讨论】:

    标签: java hornetq


    【解决方案1】:

    您可以通过以下方式在客户端的 ServerLocator 上指定自定义负载均衡器

    ServerLocator locator = ....
    
    locator.setConnectionLoadBalancingPolicyClassName("YOUR-CLASS-NAME);
    

    但是当前版本不允许您访问拓扑数组。

    我们应该改变我们的实现,将 topologyArray 发送到 select 方法。如果您打开 JIRA,我们会处理的。

    【讨论】:

    • 感谢您提供详细信息,Clebert
    猜你喜欢
    • 2022-01-17
    • 2011-12-30
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多