我在向How Can I use Apache to load balance Marklogic Cluster咨询一些建议,但还没有这个想法。
我们的MarkLogic服务器版本8.0-4,版本为4.1.0
有一种配置MarkLogic Clinet的官方方法
DatabaseClientFactory.newClient(host, port, new DigestAuthContext(user, passwd));客户端的配置很容易理解。它可以在我们的项目中为我工作。
但是,对于host来说,我有点困惑。
我们的PORD有三个主机。在MarkLogic配置页面中,我可以找到以下摘要:
我只知道这个配置在marklogic-client-api中。
.newClient("qwelap1", "8888", new DigestAuthContext("admin", "admin"));我可以调用三台服务器而不是一台服务器吗?我应该使用其他框架来实现这个或其他什么吗?
发布于 2018-08-03 09:31:20
如果代码和MarkLogic之间有负载均衡器,那么在newClient调用中使用负载均衡器主机名或IP。如果负载均衡器在代码和外部之间,那么使用任何一个服务器的主机名。在常见的配置中,您所连接到的ML主机并不重要。
我强烈建议您避免调用API,因为API会在调用之间隐式或显式地保持事务打开。要配置负载平衡器以可靠地实现跨请求事务所需的会话关联可能是困难的,也可能是不可能的。最好假设负载平衡器不实现关联,并在客户端代码中使用该约束。
https://stackoverflow.com/questions/51665892
复制相似问题