我们正在Google Cloud集群上运行3节点mcrouter
/ memcached
kubernetes
部署(通过helm
)。我们使用群集而不是单个VM来使我们的Web应用程序(它使用Memcache进行会话)可以抵抗节点故障。
在更新节点时,kubernetes逐个逐出Pod并生成新的Pod。由于内存缓存是内存中的存储,因此将在没有数据的情况下创建这些新的容器。升级期间间歇性会话失败证明,我们目前使用的微机路由不是这种情况的最佳选择。
据我了解,有两种解决方法:
WarmUpRoute
MissFailoverRoute
如果我想使用WarmUpRoute
,则需要这样做:
如果我想使用MissFailoverRoute
,则需要这样做:
我理解正确吗?似乎第二种选择要简单得多。 WarmUpRoute
方法有什么优点吗?是否有第三个选项比这两个选项更好?