0

要求 :

我想从数据提供者获取所有帐户组成员资格详细信息,并准备帐户缓存以列出关联组。我需要为 4000 组准备一个缓存,并且 api 的响应太慢,因此我选择了多服务器环境并将数据保存到分布式 Ehcache 中。

当前设计:

我有 4 台服务器

步骤1:

  1. 服务器 1 将组数分成 4 个相等的部分。
  2. 因此每台服务器可以获取 1000 个组的数据。还创建一个分布式 ehcache 用于存储帐户到组关联。
  3. 在其他 3 台服务器上复制此缓存。(其他服务器等到步骤 1 完成)

第2步 :

  1. 所有 4 台服务器都盯着从数据提供者那里获取数据并将其放入分布式缓存中。
  2. 服务器可以将相同键的数据更新到缓存中。

我对上面的设计有一些疑问

  1. 据我了解,每台服务器都有自己的缓存复制副本,所以当我更新缓存的任何元素时,它是否会在本地复制副本上更新?
  2. 如果服务器 1 更新缓存中的元素,其他服务器如何获取更新的值?
  3. 如果通过 RMI 为每个更新操作在所有服务器上复制更新的缓存,那么如果服务器 1 更新缓存中的一个元素并且在此更新复制到另一个服务器之前,服务器 2 也会更新相同的元素会发生什么情况。
4

0 回答 0