diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-05 12:09:15 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-05 12:09:15 +0000 |
commit | 20d564f1064622ef0623434372ac3ceb03173331 (patch) | |
tree | 000d95440566cd189ea774168c9756bcc8fc5fae /doc/development/architecture.md | |
parent | 26384c9a61da9922b8fa4b8351d4e42d51661b37 (diff) | |
download | gitlab-ce-20d564f1064622ef0623434372ac3ceb03173331.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/development/architecture.md')
-rw-r--r-- | doc/development/architecture.md | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/doc/development/architecture.md b/doc/development/architecture.md index 0cf311a645e..94321c3f8f7 100644 --- a/doc/development/architecture.md +++ b/doc/development/architecture.md @@ -52,17 +52,18 @@ graph TB Geo[GitLab Geo Node] -- TCP 22, 80, 443 --> NGINX GitLabShell --TCP 8080 -->Unicorn["Unicorn (GitLab Rails)"] - GitLabShell --> Gitaly + GitLabShell --> Praefect GitLabShell --> Redis Unicorn --> PgBouncer[PgBouncer] Unicorn --> Redis - Unicorn --> Gitaly + Unicorn --> Praefect Sidekiq --> Redis Sidekiq --> PgBouncer - Sidekiq --> Gitaly + Sidekiq --> Praefect GitLabWorkhorse[GitLab Workhorse] --> Unicorn GitLabWorkhorse --> Redis - GitLabWorkhorse --> Gitaly + GitLabWorkhorse --> Praefect + Praefect --> Gitaly NGINX --> GitLabWorkhorse NGINX -- TCP 8090 --> GitLabPages[GitLab Pages] NGINX --> Grafana[Grafana] @@ -128,6 +129,7 @@ Component statuses are linked to configuration documentation for each component. | [Unicorn (GitLab Rails)](#unicorn) | Handles requests for the web interface and API | [✅][unicorn-omnibus] | [✅][unicorn-charts] | [✅][unicorn-charts] | [✅](../user/gitlab_com/index.md#unicorn) | [⚙][unicorn-source] | [✅][gitlab-yml] | CE & EE | | [Sidekiq](#sidekiq) | Background jobs processor | [✅][sidekiq-omnibus] | [✅][sidekiq-charts] | [✅](https://docs.gitlab.com/charts/charts/gitlab/sidekiq/index.html) | [✅](../user/gitlab_com/index.md#sidekiq) | [✅][gitlab-yml] | [✅][gitlab-yml] | CE & EE | | [Gitaly](#gitaly) | Git RPC service for handling all Git calls made by GitLab | [✅][gitaly-omnibus] | [✅][gitaly-charts] | [✅][gitaly-charts] | [✅](https://about.gitlab.com/handbook/engineering/infrastructure/production-architecture/#service-architecture) | [⚙][gitaly-source] | ✅ | CE & EE | +| [Praefect](#praefect) | A transparant proxy between any Git client and Gitaly storage nodes. | [✅][gitaly-omnibus] | [❌][gitaly-charts] | [❌][gitaly-charts] | [✅](https://about.gitlab.com/handbook/engineering/infrastructure/production-architecture/#service-architecture) | [⚙][praefect-source] | ✅ | CE & EE | | [GitLab Workhorse](#gitlab-workhorse) | Smart reverse proxy, handles large HTTP requests | [✅][workhorse-omnibus] | [✅][workhorse-charts] | [✅][workhorse-charts] | [✅](https://about.gitlab.com/handbook/engineering/infrastructure/production-architecture/#service-architecture) | [⚙][workhorse-source] | ✅ | CE & EE | | [GitLab Shell](#gitlab-shell) | Handles `git` over SSH sessions | [✅][shell-omnibus] | [✅][shell-charts] | [✅][shell-charts] | [✅](https://about.gitlab.com/handbook/engineering/infrastructure/production-architecture/#service-architecture) | [⚙][shell-source] | [✅][gitlab-yml] | CE & EE | | [GitLab Pages](#gitlab-pages) | Hosts static websites | [⚙][pages-omnibus] | [❌][pages-charts] | [❌][pages-charts] | [✅](../user/gitlab_com/index.md#gitlab-pages) | [⚙][pages-source] | [⚙][pages-gdk] | CE & EE | @@ -220,6 +222,16 @@ Elasticsearch is a distributed RESTful search engine built for the cloud. Gitaly is a service designed by GitLab to remove our need for NFS for Git storage in distributed deployments of GitLab (think GitLab.com or High Availability Deployments). As of 11.3.0, this service handles all Git level access in GitLab. You can read more about the project [in the project's readme](https://gitlab.com/gitlab-org/gitaly). +#### Praefect + +- [Project page](https://gitlab.com/gitlab-org/gitaly/blob/master/README.md) +- Configuration: [Omnibus][gitaly-omnibus], [Source][praefect-source] +- Layer: Core Service (Data) +- Process: `praefect` + +Praefect is a transparent proxy between each Git client and the Gitaly coordinating the replication of +repository updates to secondairy nodes. + #### GitLab Geo - Configuration: [Omnibus][geo-omnibus], [Charts][geo-charts], [GDK][geo-gdk] @@ -641,6 +653,7 @@ We've also detailed [our architecture of GitLab.com](https://about.gitlab.com/ha [gitaly-omnibus]: ../administration/gitaly/index.md [gitaly-charts]: https://docs.gitlab.com/charts/charts/gitlab/gitaly/ [gitaly-source]: ../install/installation.md#install-gitaly +[praefect-source]: ../install/installation.md#install-gitaly [workhorse-omnibus]: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/files/gitlab-config-template/gitlab.rb.template [workhorse-charts]: https://docs.gitlab.com/charts/charts/gitlab/unicorn/ [workhorse-source]: ../install/installation.md#install-gitlab-workhorse |