扩展套接字服务器

时间:2011-09-27 18:15:39

标签: sockets caching nosql scalability

假设实时聊天客户端(Skype,Windows Live Messenger)使用套接字与其相关服务保持连接,那么开发人员实施哪些策略来扩展其服务器?甚至像Xbox LIVE这样的系统,用户也可以聊天并向他们的在线朋友发送游戏邀请。

主要问题是这些连接中的每一个都必须共享状态;其他客户端(可以连接到世界另一端负载均衡器后面的不同服务器)需要查询其中一些状态。最明显的一个是在线状态。

这些服务是使用基于RAM的巨型缓存(可能类似于memcached)还是NoSQL数据库(如Cassandra),世界各地的所有服务器都连接并更新和检索所需的状态信息。

我想知道这种解决方案对于像我上面描述的那样的实时服务是否足够快(或合理)。

我的主要问题是记忆。通过负载均衡器和循环DNS平衡的组合,分配负载非常简单(我希望)。

1 个答案:

答案 0 :(得分:3)

这是one way。虽然不一定关注基于内存的缓存