使用AWS ElastiCache(Memcached)复制

时间:2019-05-02 02:39:12

标签: memcached amazon-elasticache

我正在将AWS ElastiCache群集(memcached)与多个节点一起使用。似乎数据没有在节点之间复制。从ElasticCache集群端点请求数据时,有时会返回先前写入的数据,但有时会选择其他节点来读取数据,而找不到数据。

是否有使用ElastiCache(Memcached)在节点之间复制数据的实用方法? (我宁愿避免使用自己需要管理的复杂解决方案,因为这违背了使用诸如ElastiCache之类的托管服务的目的)

我的任务是将旧的本地应用程序迁移到AWS,以前的服务器配置对我不可用。

我正在考虑的另一种方法是确保相同的EC2实例始终命中同一节点,但是用户会话数据也存储在memcached中,这不能保证用户的后续请求将由同一EC2实例满足(使用ALB)。

1 个答案:

答案 0 :(得分:0)

Memcached本机不支持复制。有些客户端通过将设置请求发送到多个端点来实现复制。

通常,这不是问题,因为几乎所有Memcached客户端都使用哈希来选择密钥的特定端点。这意味着Memcached客户端会执行自己的负载平衡,并且您永远不要使用负载平衡器选择Memcached端点。但是,有时(例如,由于短暂的网络故障),客户端仍然可以为密钥选择其他端点,从而导致不一致。

如果您想要一个一致的,受管的Memcache,可以使用MemCachier之类的服务(完整披露,我目前在MemCachier工作)。任何具有多个终结点的MemCachier计划都始终保持一致,即每个终结点始终始终具有相同的缓存视图。

相关问题