以下是我的情景。
我在couchbase中创建了一个名为“mybucket”的存储桶,并将mach1和mach2配置为相互故障转移该存储桶。
MACHINE1:
**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”的同一个桶
我在这个配置中遗漏了什么。首先,它对我所面临的任何事情都有意义吗?请指教?
答案 0 :(得分:1)
我认为你被这个问题Architecting webserver (NginX/Lighttpd/Apache) with couchbase误导了,这是答案。因为你已经询问过沙发基地,答案只是关于负载均衡器。
首先,如果您想构建可伸缩的应用程序,请永远不要将相同的服务器用于数据库和应用程序。这可能是一台硬件上的虚拟机,但不会将Web服务器和数据库放在一台物理/虚拟服务器上。特别是如果你打算使用couchbase。 Couchbase喜欢吃太多的iops,所以你的网络服务器可能没有足够的iops。
在情况中,您已经描述过我的选择是为webapp和couchbase提供单独的服务器。服务器对webapp-couchbase应该彼此靠近放置(即至少在一个数据中心中)以最小化延迟。您应该将couchbase服务器配置为具有XDCR复制的独立群集(还要检查需要为couchbase打开哪些端口)。然后配置webapp以连接到最近的服务器。但在这种情况下,您应该自己关心“高可用性”:检查this question以查看一些建议。 如果您连接一个群集中的所有couchbase服务器,它将在群集中的所有服务器周围分发文档,即使您从Web应用程序仅连接到最近的服务器,也将从群集中的所有couchbase服务器收集数据。
如果您还有其他问题,或者我应该更好地解释一下 - 请在评论中提问,我会更新我的答案。
UPD:如果您使用的是couchbase> = 2.1.1,则可以使用hostnames进行配置。