V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vampyrcain1
V2EX  ›  服务器

简单服务器容错的问题

  •  
  •   vampyrcain1 · 12 天前 via Android · 269 次点击

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

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

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

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

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

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

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4638 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:49 · PVG 17:49 · LAX 02:49 · JFK 05:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.