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

跳到元数据的末尾
进入元数据的开始

概述

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

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

正常运行时间最大化

Artifactory HA冗余网络架构意味着不存在单点故障,只要Artifactory节点中至少有一个处于运行状态,您的系统就可以继续运行。这最大限度地提高了您的正常运行时间,并可以将其提高到“五个九”的可用性水平。

管理重载

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

减少维护停机时间

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


体系结构

Artifactory HA架构提供了一个负载均衡器,连接到由两个或多个Artifactory服务器组成的集群,这些服务器共享一个公共数据库和网络文件系统。Artifactory集群节点必须通过快速的内部局域网连接,以支持高系统性能,并保持同步,并将系统中执行的操作即时通知彼此。其中一个Artifactory集群节点被配置为“主”节点。它的角色是执行集群范围内的任务,比如清理未引用的二进制文件。

JFrog支持团队可以帮助您配置Artifactory集群节点。由组织的It人员来配置负载均衡器、数据库和网络文件系统。

网络拓扑结构

负载均衡器

负载均衡器是Artifactory HA安装的入口点,它可以优化地将请求分配到系统中的Artifactory服务器节点。

您的负载均衡器必须支持会话关联(会话保持),正确地管理和配置它是您的组织的责任。

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

首先安装以下模块:LoadModule proxy_module modules/mod_proxy。因此,LoadModule proxy_balancer_module modules/mod_proxy_balancer。所以LoadModule proxy_http_module modules/mod_proxy_http。 ServerAdmin admin@test.com ServerName apache-ha-test ServerAlias apache-ha-test.jfrog。本地头添加Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e;path=/artifactory/" env=BALANCER_ROUTE_CHANGED  # artifactory server #1 BalancerMember http://10.0.0.32:8081 route=art1 # artifactory server #2 BalancerMember http://10.0.0.33:8081 route=art2 ProxySet lbmethod=byrequests ProxySet stickysession=ROUTEID  ProxyPreserveHost on ProxyPass /balancer-manager !ProxyPass /balancer://tomcats/ RewriteEngine On RewriteRule ^/$ /artifactory [R,L]  SetHandler balancer-manager Order deny,allow allow from 10.0.0 192.168.0  LogLevel warn ErrorLog /var/log/httpd/apache-ha-test.error.log CustomLog /var/log/httpd/apache-ha-test.access.log combined  .log

http {

... ... ...上游artifactory {ip_hash;# IP服务器IP_SERVER_1:8081的粘性;服务器IP_SERVER_2:8081;}服务器{监听80;server_name YOUR_SERVER_NAME;... ... ...重写^/$ http://$host/artifactory/webapp/login.html;Location / {proxy_pass http://artifactory;}}}

更多细节可在nginx的网站

Artifactory HA架构

Artifactory服务器集群

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

局域网

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

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

共享网络文件系统或云存储

Artifactory HA需要一个共享的文件系统来存储集群范围内的配置和二进制文件。配置文件必须通过NFS协议进行维护(版本3或4)支持的文件系统并发请求而且文件锁定,而你的二进制文件可能是相同的NFS或在云存储(目前支持Amazon S3和谷歌云存储)。

数据库

Artifactory HA需要外部数据库,目前支持MySQL, Oracle, MS SQL和PostgreSQL。有关如何配置这些数据库的详细信息,请参阅配置数据库

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

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


观看录像

这个截屏显示了Jenkins构建如何通过Artifactory HA解析工件,即使其中一个集群节点停止运行,它也能继续不间断地运行。