Архитектура
- Load Balancer: используется для маршрутизации запросов к компонентам GitLab; например, можно использовать контроллер NGINX Ingress или ALB.
- GitLab Pages: функция, позволяющая публиковать статические веб-сайты непосредственно из репозитория в GitLab.
- GitLab Workhorse: предназначен для работы в качестве умного обратного прокси, что помогает ускорить работу GitLab в целом.
- GitLab Shell: предназначен для обработки git-сессий по SSH и управления списком авторизованных ключей.
- Puma: сервер приложений на Ruby, используемый для запуска основного Rails-приложения, предоставляющего пользовательские функции в GitLab.
- Sidekiq: процессор фоновых заданий на Ruby, который извлекает задачи из очереди Redis и обрабатывает их.
- Gitaly: сервис, предназначенный для устранения необходимости в NFS для хранения Git в распределённых развертываниях GitLab.
- Redis: используется для хранения данных сессий, кэша и фоновых заданий.
- PostgreSQL: используется для хранения данных приложения GitLab.
Для получения более подробной информации о каждом компоненте, пожалуйста, обратитесь к официальной документации GitLab.