首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Couchbase热身策略

Couchbase热身策略
EN

Stack Overflow用户
提问于 2016-08-08 14:29:03
回答 1查看 379关注 0票数 3

我们在生产中运行了一个memcached集群。现在,我们将memcached替换为Couchbase集群,作为持久缓存层。问题是如何实现这一切割和如何热身Couchbase桶.显然,我们不能简单地切换到冷Couchbase,因为从旧缓存开始会使整个站点崩溃。

我曾经想过的一个选择是首先将Couchbase作为memcached节点进行热身。这意味着Couchbase使用(非持久性) memcached存储桶,并获得缓存集/获取流量,就像其他memcached节点一样。它的好处是代码更改最少(所需的是配置moxi代理以获取memcached流量,并将该节点注册为memcached节点)。稍后,我们将将所有memcached桶转换为Couchbase。但不确定Couchbase是否支持这两种类型的桶之间的转换。

第二个选项是在开始时设置持久Couchbase桶(相对于非持久化memcached桶)。我们将产品缓存客户端更改为将所有通信量复制到memcached和coucbase集群。我们监视Couchbase桶,一旦缓存项达到一定的大小,我们就完成切换。一个小缺点是改变缓存客户端的额外复杂性。

有什么想法?

2016年8月9日编辑

正如我后来发现的,在Couchbase中不支持将memcached桶转换为couchbase桶。因此,第一种选择是不可行的。

最后,我们决定在每个应用程序主机中设置客户端(独立)代理。我们从主机到主机递增地执行此操作,以增加缓存流量。这样,网站的变化就足够小了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-08 22:17:36

如果您想要轻松,少工作,并证明工作良好,请执行以下操作:

  1. 在每个应用服务器上设置一个Moxi客户端。
  2. 在Couchbase集群上点Moxi到Couchbase桶。
  3. 将您的web应用程序服务器更改为指向本地的MOXI安装。
  4. 对于下一个代码修订版,开始将代码转换为使用Couchbase而不是memcached。

是的,总有一段时间,缓存中的东西不会很热,但是Couchbase不需要很长时间就能得到填充。此方法一直用于切换。这是很容易,几乎是傻瓜的证明。我看到人们做的一件事就是在切换之前,尝试从他们现有的memcached服务器复制到Couchbase,但我不确定它们是如何更新memcached中每个值的关键。

还请注意,Moxi是一个临时步骤,可以轻松地摆脱常规memcached,这是很棒的,但是从长远来看,切换到SDK要好得多。SDK比纯memcached具有更多的特性。

不要使用memcached存储桶,因为它们没有HA、持久性或Couchbase的其他特性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38831862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档