Couchbase 如何创建有备份但没有文档余额的2个节点
我有两个couchbase节点 一个应该备份另一个,但我不希望服务器在它们之间平衡文档 因此,我尝试将它们都添加到一个集群中,并在bucket上将副本设置为“disable”,但它仍然可以平衡这两台服务器之间的文档 然后,我尝试将服务器用作不同的集群,并在它们之间进行复制。 我还在客户端配置中添加了这两台服务器:Couchbase 如何创建有备份但没有文档余额的2个节点,couchbase,Couchbase,我有两个couchbase节点 一个应该备份另一个,但我不希望服务器在它们之间平衡文档 因此,我尝试将它们都添加到一个集群中,并在bucket上将副本设置为“disable”,但它仍然可以平衡这两台服务器之间的文档 然后,我尝试将服务器用作不同的集群,并在它们之间进行复制。 我还在客户端配置中添加了这两台服务器: <servers bucket="default" bucketPassword="private"> <add uri="http://server1ip/
<servers bucket="default" bucketPassword="private">
<add uri="http://server1ip/pools/default">
<add uri="http://server2ip/pools/default">
</servers>
当我关闭server1时,请求转到server2,因此备份工作正常
但是我不确定是否从服务器1上的客户端发送请求,它将始终选择最近的服务器(将请求始终发送到服务器1IP)
如何实现这一点?我认为负载平衡器会有所帮助。您可以在两个couchbase服务器前面放置一个负载平衡器,并将每个客户端指向负载平衡器。如果负载平衡器具有这种能力,它可以根据某些内容(ip地址?)确定首选服务器。如果首选服务器不可用,它可以转到另一台。如果在配置中添加两台服务器,我不确定couchbase是否选择最近的服务器,它可以使用循环。但我注意到,服务器的配置顺序会影响它们的负载,所以可能只有第一个服务器具有更高的优先级,但并不是所有的请求都会转到它。我还没有看到.Net客户端的任何配置选项,可以将其中一个服务器设置为“main”,另一个服务器设置为“backup”。所以也许你可以试试:
当您创建Couchbase集群时,它被视为“单个”数据库。数据总是分布在同一个集群中 因此,如果您想将数据自动“备份”到其他节点,您必须使用XDCR(跨数据中心复制),它将数据从一个集群复制到另一个集群。(如您所见,我没有使用“节点”一词,因为Couchbase数据库应该部署在多个节点上。) 我邀请您查看以下资源以了解更多信息:
- XDCR的通用文档:
- 网络研讨会: