Memcache升级版之CouchBase [二]使用详解

在上一篇中,介绍了Couchbase的安装和配置,接下来介绍一些如何使用。


linux启动和停止服务: /etc/rc.d/init.d/couchbase start/stop  


如果安装时设置的有问题,需要重新安装,只需要将服务停止,删除/opt/couchbase/var/lib/couchbase目录下的数据(请保留log目录),再启动服务,通过浏览器连接上去就可以看到熟悉的欢迎界面,全部重新配置即可。


既往使用memcache的时候,对其中的数据进行批量处理会是非常困难的事情,couchbase的view功能,使其从单一缓存工具转变为文档型数据库。但是,这个功能也有些蛋疼,要map全部数据,性能上很成问题。可以通过设置更多的bucket,尽量让一类数据放在一个bucket上,可以改善一些。但总体来看瑕不掩瑜,View功能让通过缓冲进行数据统计分析成为可能,这是一个很可喜的事情。


最后,说一下运维中还可能遇到的问题:

1,如何在同一Server下建立多个Bucket?

与membase时类似,默认的bucket是11211端口,可以建立多个Bucket复用这个端口,但是需要客户端连接是通过SLD验证来确定到底连接哪一个Bucket。另一个更实用的办法,是将更多的Bucket分别建立在不同的端口上。这与以往在一台服务器上运行多个memcache实例是相似的。

2,出现某台服务器宕机的情况,数据存取出现异常,怎么回事?

当某个node失效时,在管理界面中可以看到该节点处于down状态。注意,这时PHP连接时,仍然会试图将对此node进行操作,从而返回false。这与我们理解上的集群应该自动保持有效的想法是有差异的。需要手工点击“Fail Over”将此node从服务中屏蔽,之后php才不会对此node进行操作。当节点重新启动后,需要将其恢复回来。根据提示点击“Add Back”,然后视情况决定是否执行Rebalance。

尤其是在只有两个节点时,意味着一个节点失效,如果不及时进行干预,就会有超过一半的请求失败(默认失效节点为主的写和轮询的读),结果会很惨。这看似很傻,其实是为了保证数据有效性。根据官方解释:

A,node少于3个时,必须手工干预;

B,node大于等于3个时,可以通过REST接口设置为“Auto Failover”

C,可以进一步设定,当节点数大于某个数值时,进行自动failover

这样的设定使得大集群可以有效的工作,不会因为运维经验不足导致数据永久损失。这种考虑还是很值得认可的。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值