我遇到的情况是,我目前有3个memcached实例在3个不同的服务器上运行。我的应用程序目前位于同一个3个不同的节点上。所有的应用程序服务器都知道所有的memcached服务器,但是如果其中一个出现故障,我无法注意到。 这个想法是将memcached服务器移动到自己的节点。使用memcached存储桶掌握Couchbase
我已经开始考虑CouchBase作为解决这个问题的替代方案,但不确定它会工作。
它会工作吗,以便我在每个应用程序节点上都有一个CouchBase集群,然后将它们连接到不同的memcached服务器,然后CouchBase将监视并知道哪些存活?
在这种情况下,如果某个memcached实例关闭,那么当前绑定到memcached实例的应用程序如何知道如何获取数据?或者是CouchBase会成为中间人关心在哪里存储它?
谢谢,关于收集所有节点的信息的一个问题。这是否意味着如果我有一个带有e.x 2 couchbase服务器的集群,只需连接其中一个服务器,就可以使对象了解这两个节点?如果提供的服务器出现故障,它是否会尝试从其他节点获取?只是想知道当couchbase服务器出现故障时会发生什么情况,而不仅仅是memcached存储桶出现故障。 – Nitro 2012-04-16 09:04:13
因此,初始通信获取vbuckets的列表,但它会检查更新vbucket信息的位置。通常最好的办法是设置一些像nginx这样的虚拟IP接口或代理,让您可以在所有节点上进行循环负载平衡。这样,如果其中一个节点出现故障,您仍然可以连接并获得这些vbucket更新,而无需更改代码以支持故障切换。除此之外,是的。只要它与Couchbase SDK交谈初始节点,它就会知道所有其他服务器并相应地分配流量。 – Drahkar 2012-04-18 16:21:48