使用负载平衡时,所有后端服务器是否应具有相同的缓存内容?

时间:2019-08-18 07:19:36

标签: caching load-balancing

假设我们有多个后端服务器的负载平衡。每个后端服务器都有一个缓存,其中包含有关用户的信息,以避免大量查询数据库。系统中有很多用户。这些服务器的缓存是否需要具有相同的内容,或者每个服务器都可以具有包含不同用户信息的不同缓存?这是一个好习惯吗?

例如,我们使用2个后端服务器。第一台服务器仅处理有关具有偶数user_id的用户的请求,因此第一台服务器的缓存仅包含具有偶数id的用户。并行地,第二服务器仅处理关于具有奇数user_id的用户的请求,因此第二台服务器的缓存仅包含具有奇数id的用户。这是一个好习惯吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

这取决于您进行负载平衡的网络级别。如果您使用具有cookie持久性的l7负载均衡器-您可以将所有带有偶数user_id的用户请求重定向到第一台服务器,并将所有带有奇数user_id的用户请求重定向到第二台服务器-因此,您不需要在第一台服务器上缓存奇数user_id,甚至在第二台上也缓存user_id服务器。我认为后端缓存不是一种好习惯,我认为最好为此目的使用内存数据库(memcached,redis,tarantool等)