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

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

概述

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

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

正常运行时间最大化

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

管理重载

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

减少维护停机时间

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

Artifactory HA版本

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

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


体系结构

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

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

网络拓扑结构

负载均衡器

负载均衡器是Artifactory HA安装的入口点,它可以优化地将请求分配到系统中的Artifactory服务器节点。正确地管理和配置它是您的组织的责任。

使用Artifactory的反向代理生成器

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

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

首先安装以下模块:LoadModule proxy_module modules/mod_proxy。因此,LoadModule proxy_balancer_module modules/mod_proxy_balancer。所以LoadModule proxy_http_module modules/mod_proxy_http。so配置如下: 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 RewriteRule ^/$ /artifactory [R,L] 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_SERVER_1:8081;服务器IP_SERVER_2:8081;}服务器{监听80;server_name YOUR_SERVER_NAME;... ... ...重写^/$ http://$host/artifactory/webapp;Location / {proxy_pass http://artifactory;}}}

更多细节可在nginx的网站


Artifactory HA架构

Artifactory服务器集群

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

局域网

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

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

Filestore

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

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

数据库

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

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

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