我一直在尝试研究分布式缓存一段时间,并没有澄清下面列出的某些问题:
我对事情有点新手,所以上面列出的某些问题甚至可能毫无意义。此处还建议了解决方案/更正。
答案 0 :(得分:0)
我最好的答案:
我会说两个。分布式缓存意味着缓存的逻辑思想分布在多个不同的机器上。例如,您的缓存中可能有5个节点,每个节点都位于计算机/ VM上。
通常,一旦需要分布式缓存,您的应用程序也会分发。小型网站=一台服务器,可能是一个缓存节点。大网站=许多网络服务器,分布式缓存。
大多数分布式缓存在节点之间均匀分配缓存条目。如果您将条目写入一个节点,它将被复制到所有其他节点。我们的想法是,每个缓存节点都可以从“集群”中取出,并且不会丢失任何数据。
在一台计算机上有一个缓存条目的想法称为分片。这意味着您查看缓存键,然后决定将其存储在哪个缓存节点上。
对于现有的分布式缓存,您不必管理/担心任何此类缓存。
对于分布式缓存,它们应该在自己的机器上,而不运行其他进程。缓存通常驻留在内存中,因此您不希望其他内容竞争该宝贵的RAM。
从技术上讲,您可以将Web服务器与缓存节点放在同一台计算机上,但请注意它们将竞争物理资源。
不要担心。 =)每个分布式缓存的行为都不同,因此读取它是很好的,但它们都可以自己处理数据复制。您不必担心/管理它。
我会维护一个分布在许多机器上的逻辑缓存。再次出现这种情况的原因是节点出现故障。如果您的缓存节点出现故障且其他地方的值不存在,那么您就遇到了大麻烦。 (数据库可能会因缓存正在处理的请求而不堪重负。)
好问题。 =)如果盒子在同一个内部网络上,那么成本确实非常低。只要缓存不在西海岸,网络服务器在东海岸,你应该没问题。当然要付出代价,但有创造性的方法来解决它。
希望有所帮助!