有问题吗?想要报告问题?联系JFrog技术支持

跳到元数据的末尾
转到元数据的开始

概述

Artifactory支持高可用性网络配置,该配置具有2个或更多的集群,活动/活动,在同一局域网(LAN)上读/写Artifactory服务器。

支持在HA配置中设置多个服务器企业许可并为您的组织提供了几个好处:

正常运行时间最大化

Artifactory HA冗余网络架构意味着不存在单点故障,只要至少有一个Artifactory节点是可操作的,系统就可以继续运行。这最大限度地延长了您的正常运行时间,并可以将其提高到“五个9”可用性的级别。

管理重负荷

通过在网络中使用Artifactory服务器节点的冗余阵列,您的系统可以在不影响性能的情况下容纳更大的负载突发。有了水平服务器可伸缩性,随着组织的增长,您可以轻松地增加容量以满足任何负载需求。

尽量减少维护停机时间

通过使用具有多个Artifactory服务器的体系结构,Artifactory HA允许您在没有系统停机的情况下执行大多数维护任务。

人工HA版本

从5.0版本开始,Artifactory HA在基础设施方面发生了重大变化,并使用一个二进制提供程序来管理跨集群节点的文件分发,并支持云原生存储提供程序。

本指南提供安装和使用5.0及以上版本的Artifactory HA的说明。


体系结构

Artifactory HA体系结构提供了一个连接到两个或多个Artifactory服务器集群的负载均衡器,这些服务器共享一个公共数据库,在该数据库中维护所有Artifactory配置文件。二进制文件可以存储在网络文件系统中,也可以使用分区的分片二进制提供程序配置高可用性分片。Artifactory集群节点必须通过快速的内部LAN连接,以支持高系统性能,并保持同步,并即时通知系统中执行的操作。其中一个Artifactory集群节点被配置为“主”节点。它的作用是执行集群范围的任务,例如清理未引用的二进制文件。

JFrog支持团队可以帮助您配置Artifactory集群节点。由组织的It人员来配置负载平衡器、数据库和对象存储。

网络拓扑结构

负载均衡器

负载平衡器是Artifactory HA安装的入口点,并以最佳方式将请求分发到系统中的Artifactory服务器节点。正确地管理和配置它是您的组织的责任。

使用Artifactory的反向代理生成器

您可以为Apache HTTPD和Nginx支持的Artifactory High Availability集群生成配置片段反向代理生成器-它将检测现有的服务器节点,并将它们添加到生成的配置文件中。

下面的代码示例展示了负载平衡器配置的一些基本示例:

首先安装以下模块:LoadModule proxy_module modules/mod_proxy。所以LoadModule proxy_balancer_module modules/mod_proxy_balancer。所以LoadModule proxy_http_module modules/mod_proxy_http。因此,配置如下: ServerAdmin admin@frogs.com ServerName artifactory.www.si-fil.com ServerAlias *.www.si-fil.com  # Artifactory server #1 BalancerMember http://IP_SERVER_1:PORT route=art1 # Artifactory server #2 BalancerMember http://IP_SERVER_1:PORT route=art2 ProxySet lbmethod=byrequests  ProxyPreserveHost on ProxyPass /balancer-manager !ProxyPass / balancer://tomcats/ ProxyPassReverse /artifactory https://<服务器名称>/artifactory RewriteEngine On rewriterrule ^/$ /artifactory [R,L] LogLevel warn ErrorLog /var/log/httpd/apache-ha-test.error.log CustomLog /var/log/httpd/apache-ha-test.access.log组合
HTTP {... ... ...上游人工{服务器IP_SERVER_1:8081;服务器IP_SERVER_2:8081;}服务器{监听80;server_name YOUR_SERVER_NAME;... ... ...重写^/$ http://$host/artifactory/webapp;Location / {proxy_pass http://artifactory;}}

详情请浏览nginx的网站


人工HA架构

人工服务器集群

集群中的每个Artifactory服务器接收由负载均衡器路由到它的请求。所有服务器共享一个公共数据库,并相互通信以确保它们在所有事务上同步。

局域网

为了确保系统的良好性能和同步,必须将Artifactory HA安装的所有组件安装在同一个高速LAN上。

理论上,人工HA可以在广域网(WAN)上工作,但是在实践中,网络延迟使得实现高可用性系统所需的性能变得不切实际。

Filestore

人工HA为存储二进制文件提供了不同的选择。一些例子是:

  • 本地文件系统,其中使用二进制提供程序冗余存储二进制文件,该二进制提供程序根据定义的冗余管理集群节点之间的同步文件。
  • 云存储目前支持Amazon S3和Google Cloud Storage)
  • 网络文件系统(NFS)

数据库

人工HA需要一个外部数据库,它是管理二进制文件的基础,也用于存储集群范围的配置文件。目前支持MySQL, Oracle, MS SQL和PostgreSQL。有关如何配置这些数据库的详细信息,请参考配置数据库

由于Artifactory HA包含多个Artifactory集群节点,因此您的数据库必须足够强大,能够为系统中的所有节点提供服务。此外,您的数据库必须能够支持来自系统中所有Artifactory集群节点的最大连接数。

如果您正在复制数据库,则必须确保在任何给定的时间点,所有节点都看到数据库的一致视图,而不管它们访问哪个特定的数据库实例。不支持最终一致性和write-behind数据库同步。