使用 ESB 和 DSS 集群进行动态负载平衡、WSO2
我想创建一个数据服务服务器(DSS)集群,并使用企业服务总线(ESB)作为负载平衡器。在这个部署中,集群中拥有管理器DSS的目的是什么?如果有管理器,是否会出现单点故障?
这些是我用于负载平衡和 DSS 集群的参考:
I want to make a cluster of Data Services Servers(DSS), and use an Enterprise Service Bus (ESB) as load balancer. In this deployment, what is the purpose of having a manager DSS in the cluster, and if there is a manager, is it a single point of failure?
These are the references which I used for load balancing and DSS clustering:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
WSO2 ESB 中的动态负载平衡机制,使用组通信框架发现应用程序组中的 DSS 成员,并在运行时共享负载。
负载均衡器不绑定或耦合到任何集群管理器 - 它只会在 applicationDomain 中的节点之间分配负载。
因此,在运行时,集群管理器不会造成任何单点故障。
如果您愿意,即使没有集群管理器也可以设置 DSS 集群,并通过 ESB 在节点之间分配负载。
集群管理器 - 这是一个仅用于管理集群而安装的组件...
The dynamic load balancing mechanism in WSO2 ESB, discovers the DSS members in an application group using a group communication framework and shares the load in runtime.
Load balancer is not bound or coupled to any cluster manager - it will simply distribute the load among nodes in applicationDomain.
So - in runtime - cluster manager doesn't create any single point of failure.
If you want you can setup a DSS cluster even without a cluster manager and distribute the load among the nodes via ESB.
The cluster manager - which is a component installed only to manage your cluster...
这是普拉巴斯答案的延伸。
DSS 可以配置为在集群中工作。以便所有 DSS 节点充当单个集群中的成员。这有利于在每个节点之间共享会话。
或者,您可以让所有 DSS 节点独立运行(使用相同的配置),并由负载均衡器 (LB) 负责。与之前的方法不同,此方法不支持 DSS 节点之间共享会话。因此仅支持无状态服务。
WSO2 ESB 可以充当 LB。但拥有单个 LB 实例将使其成为 SPoF。而且,LB 也可以配置为在集群中运行。
This is an extension to Prabath's answer.
DSS can be configured to work in a cluster. So that all DSS nodes act as members in a single cluster. This facilitates sharing session among each of the nodes.
Or else, you can have all DSS nodes running in isolation (using the same configuration), fronted by a load balancer (LB). Unlike the previous approach, this method does not support share sessions between DSS nodes. Thus only supports stateless services.
WSO2 ESB can act as a LB. But having a single instance of LB will make it a SPoF. And, LB can be configured to run in a cluster as well.
我不知道使用 ESB 而不是 ELB 进行 LB 的决定背后的原因是什么,但使用哪一个取决于您。
管理器不是单点故障,它只是从单个管理控制台管理整个集群的一种方式(有限制),并且可以同时配置为工作器。
关于 LB 层,您可以使用 keepalived 来避免 ESB 中的 SPoF 充当 LB,这与 WSO2 ELB 的做法相同。
看看使用 keepalived 进行 ELB 故障转移
I don't know what's behind the decision of using an ESB instead of an ELB for LB, but it's up to you which one to use.
The manager is not a single point of failure, it's just a way to manage the entire cluster from a single management console (with limitations), and can be configured to be a worker at the same time.
Regarding the LB layer, you can use keepalived to avoid having a SPoF in the ESB acting as a LB, the same way it's done for WSO2 ELB's.
Take a look on that Failover for ELB with keepalived