如何禁用Hazelcast在Artifactory 5写锁和会话共享
相关版本:
这个信息属于Artifactory 5.5及以上版本,不包括6.0。
Artifactory一直在使用Hazelcast主要用于锁定在写操作期间分享节点间的UI会话。以增加稳定性写锁的方法在您的Artifactory Enterprise集群的节点之间,我们建议禁用Hazelcast。您可能还希望禁用UI会话共享。
对于每个函数,可以使用以下说明取代由于下面描述的原因,使用新方法进行Hazelcast。
1.写锁
您的数据库可以处理写锁,而不是Hazelcast。根据您拥有的节点数量,这种替代方法还可能提高此功能的性能。
产品说明:
关闭所有节点(有关详细信息,请参阅下面的注释)。
可选:增加您的数据库连接在Artifactory (pool.max.idle)和你的数据库。集体,最大所有节点的数据库连接数应小于数据库的最大连接数。换句话说:
[pool.max。active] *[节点数]<[最大DB连接数]
有关资料库的更多资料监视和调优可以找到在这里.对于每个节点,设置如下内容财产在artifactory.system.properties:
artifactory.locking.provider.type = db开始每个节点,从主要的.
注:
我们建议短暂的停机时间在转换到数据库写锁定期间。这将避免一些节点使用新的锁定机制,而其他节点仍在使用旧系统的情况。如果发生这种情况,您的集群将分为两个组,这可能导致一个组影响或者更糟,数据损坏问题。例如,当一个节点上传二进制文件到a / b / bin.txt文件,另一个可能删除a / b的方向。如果没有全集群锁定,则可能导致该文件存在而没有其目录的情况。
你的新的数据库锁定机制会添加自己的连接池,默认为pool.max.active价值。然而,你可能需要这样做调整数据库连接限制为接受更多连接。这样做时,每个节点的并发连接计算应该基于每个节点配置的连接数乘以集群中的节点数。您的数据库应该接受每个节点配置的连接数乘以集群中的节点数。
默认情况下,Artifactory版本6.2及以上使用数据库锁定机制来提供额外的健壮性和稳定性。
2.会话共享
支持配置会话共享在本地,但代价是你必须这么做启用会话保持(也就是会话关联)。有了这个更改,节点之间的所有内部消息传播都将被重构并通过休息,这将允许您将该机制放在ssl支持的web服务器而且避免不加密的通信如果在每个节点或负载均衡器上启用SSL/TLS,则通过TCP传输。
产品说明:
- 启用粘性的会话用于您的负载均衡器。的示例如何做到这一点AWS ELB是可用的在这里.
- 设置属性
jvm artifactory.map.provider.type =在artifactory.system.properties: - 重启每个节点。
