php - 使用 memcached 存储桶掌握 Couchbase

标签 php memcached couchbase

我的情况是,我目前有 3 个 memcached 实例在 3 个不同的服务器上运行。我的应用程序目前位于相同的 3 个不同节点。所有应用程序服务器都知道所有 memcached 服务器,但如果其中一台发生故障,我无法注意到。 这个想法是将 memcached 服务器移动到自己的节点。

我已经开始将 CouchBase 视为解决此问题的替代方案,但不确定它是否确实有效。

这样我在每个应用程序节点上都有一个 CouchBase 集群,然后将它们连接到不同的 memcached 服务器,然后 CouchBase 将监视并知道哪些是事件的,这是否可行?

在这种情况下,如果其中一个 memcached 实例发生故障,当前绑定(bind)到 memcached 实例的应用程序如何知道如何获取数据?或者 CouchBase 将成为负责存储它的中间人?

最佳答案

Couchbase 是一个适应性很强的平台,可以在替换标准 memcached 实例时使用。它允许您将大量容错能力从应用程序转移到 couchbase 实例。

由于您使用的是PHP,我建议您在访问Couchbase集群时使用PHP SDK。可以在这里获取:http://www.couchbase.com/develop/php/current

现在,需要了解的重要一点是 PHP SDK 是“vbucket 感知的”。这意味着,当您使用它连接到 Couchbase 集群时,它将从您放入构造函数的地址收集所有节点的所有信息。例如:

#Create the Couchbase object
$cb_obj = new Couchbase("127.0.0.1:8091", "user", "pass", "default");

这将创建一个对象,您可以通过该对象运行命令,该对象本身能够在节点发生故障等所需情况下处理所有故障转移。每种语言都有自己的小代码流程(我自己通常使用 Python),但是一旦您熟悉它们,它们就会非常有效。

可以通过命令行界面或通过访问 http://<nodehostname>:8091/ 的 Web URL 来管理集群。 。这也是您安装初始集群后将访问的 URL。

我强烈推荐 Couchbase 作为独立 memcached 的替代品。

关于php - 使用 memcached 存储桶掌握 Couchbase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10118749/

相关文章:

php - 为什么 in_array() 返回意外/奇怪的结果?

php - 搜索名字和姓氏,按匹配准确度排序

mongodb - 减轻 Web 应用服务器负载的缓存策略

c# - 通过 sql 表中的 100,000 条记录进行通配符搜索的最佳优化技术是什么

django - 无法在 Heroku 上配置 MemCached

javascript - 如何获取 iframe 父页面的 referrer 来源?

PHP 乘以两个字段

node.js - couchbase 中的列表/数组元素访问

docker - docker 中的 Couchbase 用于集成测试 : Make the ports 8092, 8093、8094 和 8095 可配置为能够使用 docker 的随机端口

view - 你如何访问 couchbase View 中的值?