0

我正在尝试找到一种方法来访问集中式数据库以进行检索和更新。

以下是我正在寻找的,

服务器 1 有这个变量,例如 int counter;

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

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

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

4

1 回答 1

0

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

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

最终,所有这些设计选项都具有“用户的主记录位于何处?”的概念。这些方法中的每一种都试图明确地回答这个问题。

另一种方法与多主复制有关,一些数据库供应商支持这种方法;这种方法也不能很好地扩展(即很难将其扩展到 20 台服务器),但您可能也想研究一下。

于 2013-03-24T23:17:38.213 回答