memcached服务器迁移


memcached server migration

我们正在将memcached移动到另一个服务器集群,我需要复制现有的memcached数据,或者做一些类似影子写入的事情,在那里我缓慢地同时填充两个memcached,直到它们匹配。我有什么选择?

突然想到两个想法:

  • 创建一个预热脚本,可以识别需要放入新Memcached中的每一个资源并将其放入其中。然后切换生产环境。到新的Memcached服务器IP。

  • 创建一个新的Memcached池,将脚本更改为始终同时写入两个池。等待几个小时,直到脚本无意中将所有数据写入两个池。然后切换生产环境。到新的Memcached池,并禁用双写脚本和旧池。

理由:

  • 第一种情况很有用,如果你正在缓存图像/完整的html页面/sql结果集,你可以很容易地编写一个脚本来获取,并且你可以预测所有可能的参数——很方便,它们应该是几个参数,而不是很多
  • 如果您缓存的数据非常依赖于应用程序流和不可预测的参数,那么第二种情况非常有用

Memcached复制和Memcached备份有一些商业解决方案。我不知道任何人的名字,也许还有一些开源解决方案。