CouchDB:连接到复制数据库时的透明度

CouchDB: transparency when connecting to replicated databases

假设我在 CouchDB 中设置了连续双向复制:

主机 A <-> 主机 B。

据我了解,这是最简单的主-主复制——因此 HostA 和 HostB 都接受读写。客户是否有可能在他操作的数据库上透明?我使用 Ektorp 作为 CouchDB 的 Java 驱动程序。当我初始化连接时,我必须提供 IP 地址,例如 http://HostA.mydomain.com:5984. What happens when this host is actually down? I would like to achieve transparency, like in RavenDB's client library - when HostA is down, it tries to connect to the other replicated hosts (http://ravendb.net/docs/article-page/3.0/csharp/client-api/bundles/how-client-integrates-with-replication-bundle).

换句话说 - CouchDB 是否知道其复制目标,以便客户端不必手动选择当前活动的主机?

实现此目的的一种方法是使用负载平衡器,例如 HAProxy. HAproxy is commonly used with web application servers, but can be used with any server that uses HTTP. You can find an example configuration in the couchdb repo