我正在尝试找到一种访问集中式数据库以进行检索和更新的方法。
以下是我正在寻找的内容,
例如,服务器 1 有此变量 整数计数器;
服务器 2 将与用户交互,并在用户使用服务时增加计数器,直到达到某个阈值。当达到此阈值时,服务器 2 将开始拒绝用户访问。
此外,用户将能够从多个位置使用多个服务器(例如服务器 2),并且每次用户访问任何服务器时,计数器都会增加。
我尝试过谷歌,但很难搜索没有名字的东西。
最佳答案
设计此方法的一种方法是按用户进行分片 - 即根据用户的 ID 在服务器之间拆分用户。也就是说,如果您有 10 台服务器,那么 ID 以 2 结尾的用户的所有数据都将存储在服务器 2 上,依此类推。这假设用户 ID 是均匀分布的。
另一种方法是按位置对用户进行分片 - 例如,如果您的服务器位于亚洲和欧洲。您需要用户记录中的一个属性来告诉您用户所在的位置;基于此,您将知道将它们路由到哪个服务器。
最终,所有这些设计选项都有一个概念:“用户的主记录位于何处?”这些方法中的每一种都试图明确地回答这个问题。
另一种方法与多主复制有关,一些数据库供应商支持这种方法;这种方法的扩展性较差(即很难扩展到 20 台服务器),但您可能也想研究一下。
关于集中数据访问或变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15604815/