简单服务器容错的问题

35 天前
 vampyrcain1

有一个服务器和一些(最多几百个)客户端,通信量不大

服务器可以保证在相同的服务器配置和客户端请求下给出相同的回复(或者说服务端不存在随机性)

这种情况下,为了防止服务器炸掉,独立设置 2 个或者再多几个相同的、互不通信的服务器,然后客户端同时连接所有服务器,像所有服务器发送一样的信息、丢掉第二个和之后重复的服务器发来的信息

主要目的是 1 提高服务器容错 2 避免服务器之间同步的问题,让服务器和客户端的主要代码可以像单点服务器一样实现;把多服务器相关的代码都隐藏在通信部分里面

算是一个合适的设计吗?或者有什么更好的方案?

(有注意到这么做会出现服务器接收次序的问题,比如客户端 ab 分别给服务器 12 发送信息,而 1 先收到 a 、2 先收到 b 会出错。但可以解决:客户端依次发送消息本体给各服务器,然后再发送一个确认消息;服务器通信部分暂时保存消息,一直等到所有消息都被确认再按时间戳转给服务器)

453 次点击
所在节点    服务器
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1039768

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX