diff options
author | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2020-05-14 09:23:17 +0300 |
---|---|---|
committer | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2020-05-14 09:23:17 +0300 |
commit | f75e780ccf0b67c7d27c3f926c18d1100b1922e7 (patch) | |
tree | 9031fa253a96b952779f05dff0e48626d64fb3ae | |
parent | ca1cd37b8068343244f1a8db9ed83ad786f5c4c6 (diff) | |
parent | 7a844822893d16802798e066ec567e3068bf268e (diff) |
Merge branch 'po-rename-gitaly-ha' into 'master'
Rename Gitaly HA to Gitaly Clusters
See merge request gitlab-org/gitaly!2163
-rw-r--r-- | cmd/gitaly-ssh/README.md | 2 | ||||
-rw-r--r-- | doc/README.md | 2 | ||||
-rw-r--r-- | doc/design_ha.md | 16 | ||||
-rw-r--r-- | doc/proposals/praefect-queue-storage.md | 2 | ||||
-rw-r--r-- | doc/test_repos.md | 2 | ||||
-rw-r--r-- | proto/README.md | 4 | ||||
-rw-r--r-- | ruby/proto/README.md | 2 |
7 files changed, 15 insertions, 15 deletions
diff --git a/cmd/gitaly-ssh/README.md b/cmd/gitaly-ssh/README.md index d660ab2eb..2102e3dfb 100644 --- a/cmd/gitaly-ssh/README.md +++ b/cmd/gitaly-ssh/README.md @@ -74,4 +74,4 @@ sequenceDiagram Gitaly2 ->> Gitaly2Git: Spawns git upload-pack Note over Gitaly2,Gitaly2Git: On Gitaly server 2 -```
\ No newline at end of file +``` diff --git a/doc/README.md b/doc/README.md index fc79345a2..ca2650cd1 100644 --- a/doc/README.md +++ b/doc/README.md @@ -18,7 +18,7 @@ The reference guide is documented in https://gitlab.com/gitlab-org/gitlab/blob/m - Tests use Git repositories too, [read more about them](doc/test_repos.md) - Praefect uses SQL. To create a new SQL migration see [sql_migrations.md](sql_migrations.md) -#### Gitaly HA +#### Gitaly Cluster Gitaly does not replicate any data. If a Gitaly server goes down, any of its clients can't read or write to the repositories stored on that server. This diff --git a/doc/design_ha.md b/doc/design_ha.md index 18223607e..5165e9d2d 100644 --- a/doc/design_ha.md +++ b/doc/design_ha.md @@ -1,11 +1,11 @@ # Gitaly High Availability (HA) Design -Gitaly HA is an active-active cluster configuration for resilient git operations. [Refer to our specific requirements](https://gitlab.com/gitlab-org/gitaly/issues/1332). +Gitaly Cluster is an active-active cluster configuration for resilient git operations. [Refer to our specific requirements](https://gitlab.com/gitlab-org/gitaly/issues/1332). Refer to [epic &289][epic] for current issues and discussions revolving around HA MVC development. ## Terminology -The following terminology may be used within the context of the Gitaly HA project: +The following terminology may be used within the context of the Gitaly Cluster project: - Shard - partition of the storage for all repos. Each shard will require redundancy in the form of multiple Gitaly nodes (at least 3 when optimal) to maintain HA. - Praefect - a transparent front end to all Gitaly shards. This reverse proxy ensures that all gRPC calls are forwarded to the correct shard by consulting the coordinator. The reverse proxy also ensures that write actions are performed transactionally when needed. @@ -192,10 +192,10 @@ to solve the data loss cases. ## Compared to Geo Despite the similarities above, there are significant differences -between Gitaly HA and Geo: +between Gitaly Cluster and Geo: 1. High-availability vs. disaster recovery: These are fundamentally - different goals. Gitaly HA enables GitLab to function even if a + different goals. Gitaly Cluster enables GitLab to function even if a single Gitaly node goes down by transparently failing over to a secondary Gitaly node. @@ -208,18 +208,18 @@ between Gitaly HA and Geo: does not handle failure of a single Gitaly node. 1. Unlike Geo, strong consistency is most likely a requirement for - Gitaly HA. Gitaly HA has to be able to fail over to replicas without + Gitaly Cluster. Gitaly Cluster has to be able to fail over to replicas without human interaction. -1. Gitaly HA only replicates Git repository data and omits other GitLab +1. Gitaly Cluster only replicates Git repository data and omits other GitLab artifacts (e.g. upload attachments, Git LFS files, CI artifacts, Docker containers, etc.). -1. Under the hood, the manner in which Geo and Gitaly HA detect +1. Under the hood, the manner in which Geo and Gitaly Cluster detect repository changes is subtly different but important. For example, when a user pushes to a Geo primary instance, the Git post-receive handler emits an event (in the form of a database row in PostgreSQL) - that tells secondaries that the repository has changed. In Gitaly HA, + that tells secondaries that the repository has changed. In Gitaly Cluster, Praefect directly handles the RPC that will mutate the repository. This architecture makes it possible for Praefect to support strong consistency. diff --git a/doc/proposals/praefect-queue-storage.md b/doc/proposals/praefect-queue-storage.md index d2d4b5505..992f18ca8 100644 --- a/doc/proposals/praefect-queue-storage.md +++ b/doc/proposals/praefect-queue-storage.md @@ -2,7 +2,7 @@ ## Rationale -Praefect is the traffic router and replication manager for Gitaly HA. +Praefect is the traffic router and replication manager for Gitaly Cluster. Praefect is currently (November 2019) under development and far from being a minimum viable HA solution. We are at a point where we think we need to add database to Praefect's architecture. diff --git a/doc/test_repos.md b/doc/test_repos.md index 1d81762cd..91826a33f 100644 --- a/doc/test_repos.md +++ b/doc/test_repos.md @@ -31,4 +31,4 @@ cd ../.. git -C internal/testhelper/testdata/data/gitlab-test.git push origin refs/heads/my-new-branch # push to public, official copy of gitlab-test git -C internal/testhelper/testdata/data/gitlab-test.git gc cp internal/testhelper/testdata/data/gitlab-test.git/packed-refs _support/gitlab-test.git-packed-refs -```
\ No newline at end of file +``` diff --git a/proto/README.md b/proto/README.md index 9a38d20db..99fef6b6f 100644 --- a/proto/README.md +++ b/proto/README.md @@ -221,7 +221,7 @@ default, we prefer headers. ### RPC Annotations -In preparation for Gitaly HA, we are now requiring all RPC's to be annotated +In preparation for Gitaly Cluster, we are now requiring all RPC's to be annotated with an appropriate designation. All methods must contain one of the following lines: - `option (op_type).op = ACCESSOR;` @@ -244,7 +244,7 @@ indicate what is being modified: and may specify the additional repository. The target repository represents the location or address of the repository -being modified by the operation. This is needed by Praefect (Gitaly HA) in +being modified by the operation. This is needed by Praefect (Gitaly Cluster) in order to properly schedule replications to keep repository replicas up to date. The target repository annotation marks where the target repository can be diff --git a/ruby/proto/README.md b/ruby/proto/README.md index b25873e92..1ab451fb4 100644 --- a/ruby/proto/README.md +++ b/ruby/proto/README.md @@ -2,4 +2,4 @@ We are moving gitaly-proto inside the Gitaly repository. These stubs are not yet in use. Please use the `gitaly-proto` gem from Rubygems instead of this. -https://gitlab.com/gitlab-org/gitaly/issues/1761
\ No newline at end of file +https://gitlab.com/gitlab-org/gitaly/issues/1761 |