Skip to content

HA Solution Of GitLab CE

高可用关键点

存储高可用 PostgreSQL高可用 Redis&Sentinel高可用 Gitaly&Praefect多节点

应用高可用 GitLab Rails多节点 Sidekiq 多节点

接入网管高可用 SLB

官方系统架构图

GitLab系统架构

官方高可用架构

GitLab高可用架构图

GitLab组件介绍

Git

用来调用Git相关功能

Nginx负载均衡 分为外部负载均衡器和内部负载均衡器,以处理GitLab应用程序服务节点外部与内部连接的负载平衡。

Redis+sentinel

Gitlab服务所依赖的缓存服务

Consul&Patroni&PostgreSQL

PostgreSQL数据库高可用组件。

PgBouncer

PostgreSQL的连接池服务。

Gitlay

提供对Git存储库的访问。

Sidekiq

后台任务处理服务

Gitlab Rails

用以运行Puma、Workhorse、GitLab Shell,并服务于所有前端请求 (包括通过HTTP/SSH的UI、API和Git)。

Prometheus + Grafana(可选)

GitLab环境及相关指标监控。

Elastic search(可选)

配置用以在整个GitLab实例中进行更快、更高级的代码搜索。

对象存储/NFS(可选)

用以存放各种二进制文件或对象(推荐使用对象存储)