2013-03-24 92 views
0

我试图找到一种访问集中式数据库以进行检索和更新的方法。集中式数据访问或变量

以下就是我要找的,

服务器1这一变量例如 INT计数器;

服务器2将与用户交互,并且每当用户使用该服务时将增加计数器,直到达到某个阈值。当达到该阈值时,服务器2将开始拒绝用户访问。

此外,用户将能够从多个位置使用多个服务器(如服务器2),并且每次用户访问任何服务器时,计数器将被增加。

我试过谷歌,但很难搜索没有名称的东西。

回答

0

设计这种方法的一种方法是按用户进行分片 - 即根据用户的ID在服务器之间分割用户。也就是说,如果您有10台服务器,则ID以2结尾的用户将其所有数据存储在服务器2上,依此类推。这假定用户ID是均匀分布的。

另一种方法是按位置对用户进行分片 - 例如,如果您在亚洲和欧洲有服务器。你需要用户记录中的一个属性,告诉你用户在哪里;基于此,您将知道将其路由到哪个服务器。

最终,所有这些设计选项都有一个概念:“用户的主记录在哪里?”这些方法都试图明确回答这个问题。

不同类别的方法与多主复制有关,这是由一些数据库供应商支持的;这种方法并不能很好地扩展(即很难将其扩展到20台服务器),但您也可能需要查看它。

+0

谢谢,我正在考虑使用哈希算法来分发用户,但我不是如何处理一台服务器失败,那么处理服务器10的用户将由9处理。使用主数据库和复制相这里很好。 – user2175831 2013-03-25 00:14:05