HA Solution Of GitLab CE
高可用关键点
存储高可用 PostgreSQL高可用 Redis&Sentinel高可用 Gitaly&Praefect多节点
应用高可用 GitLab Rails多节点 Sidekiq 多节点
接入网管高可用 SLB
官方系统架构图
官方高可用架构
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(可选)
用以存放各种二进制文件或对象(推荐使用对象存储)