我计划托管多台服务器(50+),每台服务器将有超过 20K 的用户保持连接。用户之间有很多共享数据(例如,一个用户需要参考另一个用户准备的数据)。
如果我托管单个数据库服务器(最好是 Microsoft SQL 服务器),所有 (50*20000) 查询将排队到该单个服务器,这可能是主要的性能瓶颈。是否可以让多个服务器共享单个数据库。这样我就可以在多个数据库服务器上分发我的查询。如果这是不可能的,有哪些可用的选项?
更新:这是正在开发的全新游戏应用程序,我希望设计具有高度可扩展性。随着每个用户的分数发生变化(增加或减少一定数量),它将更新到服务器。反过来,服务器将回复“最近 50 个用户的列表”到该分数。这计划在每位用户不少于 1 分钟内发生。
因此,如果数据库表是按分数索引的,我们可以说每个用户每分钟将进行一次写入和 50 次读取。现在,如果 20K 用户连接到每个“连接服务器”,并且所有这些“连接服务器”依次查询单个 DB Server,它实际上将所有百万个请求排队到单个 DB Server。这显然无法在一分钟内完成所有这些请求。
因此,我正在寻找我们是否可以将这些查询分布在共享单个数据库的多个 SQL 服务器上。
sql-server ×1