Changeset View
Changeset View
Standalone View
Standalone View
src/docs/user/cluster/cluster.diviner
Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | |||||
| Service | Setup | Availability | Loss Resistance | Scalability | | Service | Setup | Availability | Loss Resistance | Scalability | ||||
|---------|-------|--------------|-----------|------------ | |---------|-------|--------------|-----------|------------ | ||||
| **Databases** | Moderate | **High** | **High** | Low | | **Databases** | Moderate | **High** | **High** | Low | ||||
| **Repositories** | Complex | Moderate | **High** | Moderate | | **Repositories** | Complex | Moderate | **High** | Moderate | ||||
| **Daemons** | Minimal | Low | No Risk | Low | | **Daemons** | Minimal | Low | No Risk | Low | ||||
| **SSH Servers** | Minimal | Low | No Risk | Low | | **SSH Servers** | Minimal | Low | No Risk | Low | ||||
| **Web Servers** | Minimal | **High** | No Risk | Moderate | | **Web Servers** | Minimal | **High** | No Risk | Moderate | ||||
| **Notifications** | Minimal | Low | No Risk | Low | | **Notifications** | Minimal | Low | No Risk | Low | ||||
| **Fulltext Search** | Moderate | **High** | Minimal Risk | Moderate | |||||
See below for a walkthrough of these services in greater detail. | See below for a walkthrough of these services in greater detail. | ||||
Preparing for Clustering | Preparing for Clustering | ||||
======================== | ======================== | ||||
To begin deploying Phabricator in cluster mode, set up `cluster.addresses` | To begin deploying Phabricator in cluster mode, set up `cluster.addresses` | ||||
▲ Show 20 Lines • Show All 174 Lines • ▼ Show 20 Lines | |||||
service provides no resistance to data loss because no data is at risk. | service provides no resistance to data loss because no data is at risk. | ||||
Notification delivery normally requires very few resources, so adding more | Notification delivery normally requires very few resources, so adding more | ||||
hosts is unlikely to have much impact on scalability. | hosts is unlikely to have much impact on scalability. | ||||
For details, see @{article:Cluster: Notifications}. | For details, see @{article:Cluster: Notifications}. | ||||
Cluster: Fulltext Search | |||||
======================== | |||||
At a certain scale, you may begin to bump up against the limitations of MySQL's | |||||
built-in fulltext search capabilities. We have seen this with very large | |||||
installations with several million objects in the database and very many | |||||
simultaneous requests. At this point you may consider adding Elasticsearch | |||||
hosts to your cluster to reduce the load on your MySQL hosts. | |||||
Elasticsearch has the ability to spread the load across multiple hosts and can | |||||
handle very large indexes by sharding. | |||||
Search does not involve any risk of data lost because it's always possible to | |||||
rebuild the search index from the original database objects. This process can | |||||
be very time consuming, however, especially when the database grows very large. | |||||
With multiple Elasticsearch hosts, you can survive the loss of a single host | |||||
with minimal disruption as Phabricator will detect the problem and direct | |||||
queries to one of the remaining hosts. | |||||
Phabricator supports writing to multiple indexing servers. This Simplifies | |||||
Elasticsearch upgrades and makes it possible to recover more quickly from | |||||
problems with the search index. | |||||
For details, see @{article:Cluster: Search}. | |||||
Overlaying Services | Overlaying Services | ||||
=================== | =================== | ||||
Although hosts can run a single dedicated service type, certain groups of | Although hosts can run a single dedicated service type, certain groups of | ||||
services work well together. Phabricator clusters usually do not need to be | services work well together. Phabricator clusters usually do not need to be | ||||
very large, so deploying a small number of hosts with multiple services is a | very large, so deploying a small number of hosts with multiple services is a | ||||
good place to start. | good place to start. | ||||
▲ Show 20 Lines • Show All 79 Lines • Show Last 20 Lines |