【问题标题】:How to load balance/failover with pouchdb/couchdb?如何使用 pouchdb/couchdb 进行负载平衡/故障转移?
【发布时间】:2016-02-20 23:12:12
【问题描述】:

只是想了解人们为此使用了哪些策略?

在示例中,我看到建立远程数据库连接非常容易,我将调用get() on。

var remoteDb = new PouchDB('https://myhost.com/db');
var data = remoteDb.get("myId");

但是,如果我设置了多个相互同步的远程数据库怎么办。我希望客户能够在不更改代码的情况下全部使用它们。

我正在考虑通过 dns 执行此操作。例如,有多个记录指向其他服务器的 db.myhost.com。如果我这样做并且一台服务器出现故障,pouchDB 会意识到并重新连接到另一台服务器吗?

可能我可以编写一些 javascript 来为用户提供一个随机服务器或根据区域分配一个服务器等。然后我可以设置错误处理程序以在出现任何错误时切换服务器。这是必要的还是已经在我可以使用的某个库中实现了?

【问题讨论】:

    标签: javascript couchdb load-balancing failover pouchdb


    【解决方案1】:

    您可以使用 nginx 作为反向代理,如下所述:http://karmi.tumblr.com/post/247255194/simple-couchdb-multi-master-clustering-via-nginx

    基本上,您将 nginx 配置为侦听一个地址,然后将流量传递给您的 CouchDB 实例(改编自原始帖子):

    http {
      # ...
      upstream couchdb_cluster {
        server couchdb1.example.com:5984;
        server couchdb2.example.com:5984;
      }
    
      server {
        listen 80;
        server_name db.example.com;
    
        location / {
          proxy_pass http://couchdb_cluster;
          break;
        }
    
      }
      # ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-24
      • 1970-01-01
      • 2010-10-23
      相关资源
      最近更新 更多