|
|
@@ -93,7 +93,6 @@ listener" for the main process; and secondly, you need to enable redis-based |
|
|
|
replication. Optionally, a shared secret can be used to authenticate HTTP |
|
|
|
traffic between workers. For example: |
|
|
|
|
|
|
|
|
|
|
|
```yaml |
|
|
|
# extend the existing `listeners` section. This defines the ports that the |
|
|
|
# main process will listen on. |
|
|
@@ -129,7 +128,8 @@ In the config file for each worker, you must specify: |
|
|
|
* The HTTP replication endpoint that it should talk to on the main synapse process |
|
|
|
(`worker_replication_host` and `worker_replication_http_port`) |
|
|
|
* If handling HTTP requests, a `worker_listeners` option with an `http` |
|
|
|
listener, in the same way as the `listeners` option in the shared config. |
|
|
|
listener, in the same way as the [`listeners`](usage/configuration/config_documentation.md#listeners) |
|
|
|
option in the shared config. |
|
|
|
* If handling the `^/_matrix/client/v3/keys/upload` endpoint, the HTTP URI for |
|
|
|
the main process (`worker_main_http_uri`). |
|
|
|
|
|
|
@@ -285,8 +285,9 @@ For multiple workers not handling the SSO endpoints properly, see |
|
|
|
[#7530](https://github.com/matrix-org/synapse/issues/7530) and |
|
|
|
[#9427](https://github.com/matrix-org/synapse/issues/9427). |
|
|
|
|
|
|
|
Note that a HTTP listener with `client` and `federation` resources must be |
|
|
|
configured in the `worker_listeners` option in the worker config. |
|
|
|
Note that a [HTTP listener](usage/configuration/config_documentation.md#listeners) |
|
|
|
with `client` and `federation` `resources` must be configured in the `worker_listeners` |
|
|
|
option in the worker config. |
|
|
|
|
|
|
|
#### Load balancing |
|
|
|
|
|
|
@@ -326,7 +327,8 @@ effects of bursts of events from that bridge on events sent by normal users. |
|
|
|
Additionally, the writing of specific streams (such as events) can be moved off |
|
|
|
of the main process to a particular worker. |
|
|
|
|
|
|
|
To enable this, the worker must have a HTTP replication listener configured, |
|
|
|
To enable this, the worker must have a |
|
|
|
[HTTP `replication` listener](usage/configuration/config_documentation.md#listeners) configured, |
|
|
|
have a `worker_name` and be listed in the `instance_map` config. The same worker |
|
|
|
can handle multiple streams, but unless otherwise documented, each stream can only |
|
|
|
have a single writer. |
|
|
@@ -410,7 +412,7 @@ the stream writer for the `presence` stream: |
|
|
|
There is also support for moving background tasks to a separate |
|
|
|
worker. Background tasks are run periodically or started via replication. Exactly |
|
|
|
which tasks are configured to run depends on your Synapse configuration (e.g. if |
|
|
|
stats is enabled). |
|
|
|
stats is enabled). This worker doesn't handle any REST endpoints itself. |
|
|
|
|
|
|
|
To enable this, the worker must have a `worker_name` and can be configured to run |
|
|
|
background tasks. For example, to move background tasks to a dedicated worker, |
|
|
@@ -457,8 +459,8 @@ worker application type. |
|
|
|
#### Notifying Application Services |
|
|
|
|
|
|
|
You can designate one generic worker to send output traffic to Application Services. |
|
|
|
|
|
|
|
Specify its name in the shared configuration as follows: |
|
|
|
Doesn't handle any REST endpoints itself, but you should specify its name in the |
|
|
|
shared configuration as follows: |
|
|
|
|
|
|
|
```yaml |
|
|
|
notify_appservices_from_worker: worker_name |
|
|
@@ -536,16 +538,12 @@ file to stop the main synapse running background jobs related to managing the |
|
|
|
media repository. Note that doing so will prevent the main process from being |
|
|
|
able to handle the above endpoints. |
|
|
|
|
|
|
|
In the `media_repository` worker configuration file, configure the http listener to |
|
|
|
In the `media_repository` worker configuration file, configure the |
|
|
|
[HTTP listener](usage/configuration/config_documentation.md#listeners) to |
|
|
|
expose the `media` resource. For example: |
|
|
|
|
|
|
|
```yaml |
|
|
|
worker_listeners: |
|
|
|
- type: http |
|
|
|
port: 8085 |
|
|
|
resources: |
|
|
|
- names: |
|
|
|
- media |
|
|
|
{{#include systemd-with-workers/workers/media_worker.yaml}} |
|
|
|
``` |
|
|
|
|
|
|
|
Note that if running multiple media repositories they must be on the same server |
|
|
|