部署DataCenter对于硬件和基础设施的选择我们的站点的使用规模和要求。
以下是在规划硬件和基础设施需求时需要考虑的一些方面。
服务器要求
尽量不要将其它的应用程序或者服务与Confluence在相同的服务器上运行(核心操作系统服务除外)
群集节点
每个节点的硬件配置和各类参数配置不需要相同,但为了获得一致的性能,我们建议它们尽可能接近。所有群集节点必须:
- 位于同一数据中心或地区(对于AWS和Azure)
- 在每个Confluence节点上运行相同的Confluence版本(滚动升级期间除外)
- 在每个Synchrony节点上运行相同的Synchrony版本(如果不使用托管Synchrony)
- 具有相同的操作系统、Java和应用程序服务器版本
- 具有相同的内存配置(JVM和物理内存)(推荐)
- 使用相同的时区进行配置(并保持当前时间同步)。使用ntpd或类似的服务是确保这一点的好方法。
节点数量
DataCenter许可证不会限制群集中的节点数量。节点的正确数量取决于Confluence站点的规模。
节点数量具体可参见:节点的大小配置
内存要求
Confluence节点
我们建议每个Confluence节点至少有10GB的内存。大量并发用户意味着将消耗大量内存,或者需要更多。
以下是一些如何在不同大小的机器上分配内存的示例
内 | 说明 |
---|---|
10GB |
|
16GB |
|
数据库要求
集群数据库最重要的要求是它有足够的可用连接来支持节点的数量。
例如,如果:
- 每个Confluence节点的最大池大小为20个连接
- 每个Synchrony节点的最大池大小为15个连接(默认值)
- 计划运行3个Confluence节点和3个Synchrony节点
那么据库服务器必须允许至少105个连接到Confluence数据库。在实践中,出于调试或管理目的,我们可能需要超过最低要求的配置项。
而采用集群部署的数据库平台负载高于独立安装,我们更推荐使用集群来部署数据库。
共享主目录和存储要求
所有Confluence群集节点都必须能够访问同一路径中的共享目录。支持NFS和SMB/CIFS共享作为共享目录的位置。
由于此目录将包含大量数据(包括附件和备份),因此其大小应该足够大,并且还有应该有一个计划以便于我们未来可以进行磁盘扩容。
负载均衡器
我们建议使用您最熟悉的负载均衡器。负载平衡器需要支持“会话相关性”和WebSockets。这对于Confluence和Synchrony都是必需的。如果您在AWS上部署,则需要使用应用程序负载均衡器(ALB)。
以下是配置负载均衡器时的一些建议:
- 在负载平衡器处对请求进行排队。通过确保提供给节点的最大请求数不超过Tomcat可以接受的http线程总数,可以避免节点的请求数超过其处理能力。
- 不要在其他节点上重放失败的幂等请求,因为这会很快在所有节点上传播问题。
- 使用最少连接作为负载平衡方法,而不是循环,可以在节点加入集群或在被删除后重新加入时更好地平衡负载。
网络适配器
使用单独的网络适配器在服务器之间进行通信。群集节点应该有一个单独的物理网络(即单独的NIC)用于服务器间通信。这是使群集快速可靠运行的最佳方式。如果通过具有大量其他数据流的网络连接集群节点,则可能会出现性能问题。
https://confluence.atlassian.com/doc/clustering-with-confluence-data-center-790795847.html
https://confluence.atlassian.com/doc/server-hardware-requirements-guide-30736403.html