WSO2 ESB到Message Broker故障转移

时间:2016-10-06 11:52:02

标签: wso2 cluster-computing wso2esb failover wso2mb

我有WSO2ESB群集(ESB1和ESB2工作者),我正在使用共享数据库MSSQL(MB1和MB2代理)配置WSO2MB群集。 ESB服务器将在WSO2MB集群中编写和读取来自代理的消息。 我想要实现的是ESB1将读取/写入消息给代理MB1,ESB2将读取/写入消息给代理MB2。如果MB2出现故障,则两个ESB服务器都会向MB1读/写消息。在文档中我只看到循环版本的失败策略,这意味着ESB服务器将随机连接到MB代理。有单一的经纪人策略,但适用于我的情况还是我必须实现自己的FailoverMethod界面?我需要基于优先级或权重的故障转移策略,我只在ActiveMQ中看到它。 任何回复的Thnx。

1 个答案:

答案 0 :(得分:0)

循环法不是连接到经纪人的随机算法。它将按照给定的顺序优先考虑经纪人broker list从头到尾。通过可配置的"循环计数","重试","连接延迟"您可以最小化重试低优先级代理的属性。尽管wso2 mb目前还没有加权故障转移策略,但您可以通过上述配置尝试实现类似的行为。

据我所知,在2节点Broker集群中(在您的用例中),优先考虑代理(加权故障转移策略)并不是一个有效的案例。例如,如果MB1已关闭,则仅可用于故障转移的选项为MB2,反之亦然。如果您不想将ESB1连接到MB2(当MB1不可用时),只需从" jndi.properties"中的代理列表中删除MB2的连接URL。 ESB1的文件。此外,您需要改变"循环计数","重试","连接延迟"在MB1代理URL中重试,直到MB1再次可用。因此,这个用例可以通过" round-robin"策略。