使用marklogic-client-api的MarkLogic负载平衡

时间:2018-08-03 05:35:55

标签: marklogic marklogic-8

我指的是How Can I use Apache to load balance Marklogic Cluster的一些建议,但还不知道。

我们的MarkLogic Server 8.0-4版本和marklogic-client-api版本为4.1.0

有一种配置MarkLogic Clinet的官方方法

DatabaseClientFactory.newClient(host, port, new DigestAuthContext(user, passwd));

客户端的配置很容易理解。它可以在我的项目中为我工作。

但是,对于host,我有点困惑。

我们的PORD中有三位主持人。在MarkLogic的配置页面中,我可以找到以下摘要:

  • 组:默认
  • 主机:qwelap1 qwelap2 qwelap3

我只知道marklogic-client-api中的配置

.newClient("qwelap1", "8888", new DigestAuthContext("admin", "admin"));

我可以叫三台服务器,而不仅仅是一台服务器吗? 我应该使用其他框架来实现该框架还是其他框架?

1 个答案:

答案 0 :(得分:2)

如果您的代码和MarkLogic之间有一个负载平衡器,请在newClient调用中使用负载平衡器的主机名或IP。如果负载均衡器介于您的代码和外部代码之间,请使用任何一台服务器的主机名。在普通配置中,连接到哪个ML主机并不重要。

我强烈建议您避免调用隐式或显式使事务在调用之间保持打开状态的API。配置负载平衡器以可靠地实现交叉请求事务所需的会话亲和性可能很困难或不可能。最好假设负载均衡器未实现亲和力,并在客户端代码上使用该约束。