4

我看过一个类似的问题:Netty High Availability Cluster。我的场景是:有一个 netty websocket 服务器,各种本机 javascript web socket 客户端连接到该服务器。我正在研究 websocket 服务器的基本高可用性,并希望它应该在需要时故障转移到备份服务器。

上面给出的链接中的问题是关于 netty 客户端的,但是由于我没有用 netty 编写的客户端,所以我认为我的情况会与那个问题不同。我对吗?

有人可以建议一些方法来做到这一点,因为我想这有时会是一个相当重要的要求?

4

3 回答 3

3

因为 web sockets 是面向连接的,如果你的服务器运行了,你的 web socket 连接也会运行。

因此,为了实现高可用性,我认为您需要调整 javascript 代码以捕获连接错误并重新连接/登录。

通过这种方式,您可以将多个 netty 服务器放在负载均衡器后面。

希望这可以帮助。

于 2012-07-24T23:50:56.330 回答
2

假设您无法控制您的客户端,如何在传统负载均衡器后面拥有多个 netty 服务器并将会话状态存储在hazelcastinfinispan集群中?这两个平台都允许您将它们直接嵌入到您的服务器中,或者拥有一个远程缓存。

于 2012-07-24T08:01:37.427 回答
2

Xitrum非常适合您的需求。它使用 Hazelcast 扩展到多台服务器。

您可以尝试WebSocket 演示

要启用集群模式,只需将config/hazelcast_cluster_member_or_super_client.xml中的“multicast”和/或“tcp-ip”设置为“true”并启动多个服务器。

于 2012-07-25T02:54:13.810 回答