【发布时间】:2008-09-25 16:28:15
【问题描述】:
运行 4 个 .5GB 内存缓存服务器或一个 2GB 实例之间有什么区别吗?
运行多个实例有什么好处吗?
【问题讨论】:
标签: memcached
运行 4 个 .5GB 内存缓存服务器或一个 2GB 实例之间有什么区别吗?
运行多个实例有什么好处吗?
【问题讨论】:
标签: memcached
如果一个实例失败,您仍然可以使用缓存。如果您使用的 Consistenthashing 将相同的数据带到同一个实例,而不是在仍在运行的机器之间传播新的读/写,则尤其如此。
您也可以选择在 32 位操作系统上运行服务器,该操作系统不能处理超过 3GB 左右的内存。
查看常见问题解答:http://www.socialtext.net/memcached/ 和 http://www.danga.com/memcached/
【讨论】:
高可用性很好,memcached 会自动将您的缓存分布在 4 台服务器上。如果其中一个服务器由于某种原因而死机,您可以通过继续处理该错误,就好像缓存是空白的一样,重定向到不同的服务器,或者您想要的任何类型的自定义错误处理。如果您的 1x 2gb 服务器死机,那么您的选择非常有限。
要记住的重要一点是,您没有 4 个缓存副本,它是 1 个缓存,在 4 个服务器之间分配。
唯一的缺点是用完 4x .5 比用完 1x 2gb 内存更容易。
【讨论】:
我还要补充一点,理论上,在多台机器的情况下,它可能会为您节省一些性能,就好像您有很多前端进行大量繁重的读取一样,最好将它们分成不同的机器:您知道,一台机器的网络能力和处理能力可以成为你的上限。
然而,这一优势高度依赖于 memcache 的利用率(有时从一台机器上获取所有内容可能会更快)。
【讨论】: