RavenDB 的负载均衡

Load Balancing of RavenDB

早上好,

我在 2 台不同的服务器上使用安装为 Windows Service 的 RavenDB。

故障转移行为设置为:FailoverBehavior.AllowReadsFromSecondariesAndWritesToSecondaries 并且这些服务器之间的复制 (master => master) 也已启用。

在复制方面一切正常。

我现在想负载平衡 RavenDB,因为我不确定当两个服务器都启动并且 运行.[=18= 时,连接是否正在使用两个服务器来处理请求]

由于托管方式的不同,负载平衡方面是否存在差异RavenDB (Windows Service, IIS)

我也在考虑在 RavenDB 盒子之上设置一个负载均衡器,这样可以让请求由不同的盒子处理并依赖于复制,因此两个服务器中的数据是一致的。

虽然我不确定这是否是处理 RavenDB 的正确方法。

如有任何帮助,我们将不胜感激。

谢谢。

可以通过将 FailoverBehavior 设置为:

来设置负载平衡
FailoverBehavior = FailoverBehavior.AllowReadsFromSecondariesAndWritesToSecondaries
  | FailoverBehavior.ReadFromAllServers;

参见:http://ravendb.net/docs/article-page/3.5/Csharp/client-api/bundles/how-client-integrates-with-replication-bundle

这具有在两个服务器之间进行 RavenDB 客户端循环的效果。

在 RavenDB 3.5 中,您甚至可以指定所需的 SLA,因此您始终可以使用更快的服务器。