【发布时间】:2011-09-20 19:23:03
【问题描述】:
我想创建一个数据服务服务器 (DSS) 集群,并使用企业服务总线 (ESB) 作为负载平衡器。在这个部署中,集群中有一个管理器 DSS 的目的是什么,如果有一个管理器,是不是单点故障?
这些是我用于负载平衡和 DSS 集群的参考:
【问题讨论】:
标签: wso2 cluster-computing load-balancing wso2esb wso2dss
我想创建一个数据服务服务器 (DSS) 集群,并使用企业服务总线 (ESB) 作为负载平衡器。在这个部署中,集群中有一个管理器 DSS 的目的是什么,如果有一个管理器,是不是单点故障?
这些是我用于负载平衡和 DSS 集群的参考:
【问题讨论】:
标签: wso2 cluster-computing load-balancing wso2esb wso2dss
WSO2 ESB 中的动态负载平衡机制,使用组通信框架发现应用程序组中的 DSS 成员,并在运行时分担负载。
负载均衡器未绑定或耦合到任何集群管理器 - 它只会在 applicationDomain 中的节点之间分配负载。
因此 - 在运行时 - 集群管理器不会产生任何单点故障。
如果您愿意,即使没有集群管理器也可以设置 DSS 集群,并通过 ESB 在节点之间分配负载。
集群管理器 - 这是一个仅用于管理集群的组件...
【讨论】:
这是对 Prabath 答案的扩展。
DSS 可以配置为在集群中工作。这样所有 DSS 节点都充当单个集群中的成员。这有助于在每个节点之间共享会话。
否则,您可以让所有 DSS 节点单独运行(使用相同的配置),并在负载均衡器 (LB) 的前面。与以前的方法不同,此方法不支持 DSS 节点之间的共享会话。因此只支持无状态服务。
WSO2 ESB 可以充当 LB。但是拥有一个 LB 实例将使其成为 SPoF。并且,LB 也可以配置为在集群中运行。
【讨论】:
我不知道为什么决定使用 ESB 而不是 ELB 来实现 LB,但这取决于您使用哪一个。
管理器不是单点故障,它只是一种从单个管理控制台(有限制)管理整个集群的方法,并且可以同时配置为工作器。
关于 LB 层,您可以使用 keepalived 来避免 ESB 中的 SPoF 充当 LB,这与 WSO2 ELB 的做法相同。
【讨论】: