0

这是我的情况。

我在 couchbase 中创建了一个名为“mybucket”的存储桶,并将 mach1 和 mach2 配置为为该存储桶相互故障转移。

机器1:

**mach1.myserver.com**
couchbase and lighttpd.
webapps installed on this machine pointing to couchbase bucket called "mybucket" at mach1.myserver.com

机器2:

**mach2.myserver.com**
couchbase and lighttpd
webapps installed on this machine pointing to the couchbase bucket called "mybucket" at mach2.myserver.com

在此处输入图像描述

当我转到 URL mach1.myserver.com 时,webapps 连接成功。

但是,当我访问 URL mach2.myserver.com 时。webapps 连接失败。它们都连接到名为“mybucket”的同一个存储桶

我在这个配置中遗漏了什么吗?首先,我在这里所面临的一切是否有意义?请指教?

4

1 回答 1

1

我认为您已经被这个问题Architecting webserver (NginX/Lighttpd/Apache) with couchbase和它的答案误导了。因为您已经询问过 couchbase 并且答案只是关于负载均衡器。

所以首先,如果你想构建可扩展的应用程序,永远不要为数据库和应用程序使用相同的服务器。这甚至可以是一台硬件上的虚拟机,但不要将网络服务器和数据库放在一台物理/虚拟服务器上。特别是如果您打算使用沙发底座。Couchbase 喜欢吃太多 iops,因此您的 Web 服务器可能没有足够的 iops。

在您描述的情况下,我的选择是为 webapp 和 couchbase 提供单独的服务器。服务器对 webapp-couchbase 应该彼此靠近放置(即至少在一个数据中心中)以最小化延迟。您应该将 couchbase 服务器配置为具有 XDCR 复制的独立集群(还要检查需要为 couchbase 打开哪些端口)。然后配置 webapp 连接到最近的服务器。但在这种情况下,您应该自己关心“高可用性”:检查这个问题以查看一些建议。如果您将所有 couchbase 服务器连接到一个集群中,它将在集群中的所有服务器周围分发文档,即使您仅从 Web 应用程序连接到最近的服务器,也会从集群中的所有 couchbase 服务器收集数据。

如果您还有更多问题,或者我应该更好地解释一些问题 - 请在评论中提问,我会更新我的答案。

UPD:如果您使用的是 couchbase >= 2.1.1,则可以使用hostnames对其进行配置。

于 2013-10-08T07:56:00.997 回答