forked from MirrorHub/synapse
Add some example configurations for worker (#12492)
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
This commit is contained in:
parent
a50fb411b3
commit
a36a38b1ca
5 changed files with 56 additions and 24 deletions
1
changelog.d/12492.doc
Normal file
1
changelog.d/12492.doc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Add some example configurations for workers and update architectural diagram.
|
8
docs/systemd-with-workers/workers/background_worker.yaml
Normal file
8
docs/systemd-with-workers/workers/background_worker.yaml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
worker_app: synapse.app.generic_worker
|
||||||
|
worker_name: background_worker
|
||||||
|
|
||||||
|
# The replication listener on the main synapse process.
|
||||||
|
worker_replication_host: 127.0.0.1
|
||||||
|
worker_replication_http_port: 9093
|
||||||
|
|
||||||
|
worker_log_config: /etc/matrix-synapse/background-worker-log.yaml
|
23
docs/systemd-with-workers/workers/event_persister.yaml
Normal file
23
docs/systemd-with-workers/workers/event_persister.yaml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
worker_app: synapse.app.generic_worker
|
||||||
|
worker_name: event_persister1
|
||||||
|
|
||||||
|
# The replication listener on the main synapse process.
|
||||||
|
worker_replication_host: 127.0.0.1
|
||||||
|
worker_replication_http_port: 9093
|
||||||
|
|
||||||
|
worker_listeners:
|
||||||
|
- type: http
|
||||||
|
port: 8034
|
||||||
|
resources:
|
||||||
|
- names: [replication]
|
||||||
|
|
||||||
|
# Enable listener if this stream writer handles endpoints for the `typing` or
|
||||||
|
# `to_device` streams. Uses a different port to the `replication` listener to
|
||||||
|
# avoid exposing the `replication` listener publicly.
|
||||||
|
#
|
||||||
|
#- type: http
|
||||||
|
# port: 8035
|
||||||
|
# resources:
|
||||||
|
# - names: [client]
|
||||||
|
|
||||||
|
worker_log_config: /etc/matrix-synapse/event-persister-log.yaml
|
|
@ -1,12 +1,13 @@
|
||||||
worker_app: synapse.app.generic_worker
|
worker_app: synapse.app.generic_worker
|
||||||
worker_name: generic_worker1
|
worker_name: generic_worker1
|
||||||
|
|
||||||
|
# The replication listener on the main synapse process.
|
||||||
worker_replication_host: 127.0.0.1
|
worker_replication_host: 127.0.0.1
|
||||||
worker_replication_http_port: 9093
|
worker_replication_http_port: 9093
|
||||||
|
|
||||||
worker_listeners:
|
worker_listeners:
|
||||||
- type: http
|
- type: http
|
||||||
port: 8011
|
port: 8083
|
||||||
resources:
|
resources:
|
||||||
- names: [client, federation]
|
- names: [client, federation]
|
||||||
|
|
||||||
|
|
|
@ -138,20 +138,7 @@ as the `listeners` option in the shared config.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
worker_app: synapse.app.generic_worker
|
{{#include systemd-with-workers/workers/generic_worker.yaml}}
|
||||||
worker_name: worker1
|
|
||||||
|
|
||||||
# The replication listener on the main synapse process.
|
|
||||||
worker_replication_host: 127.0.0.1
|
|
||||||
worker_replication_http_port: 9093
|
|
||||||
|
|
||||||
worker_listeners:
|
|
||||||
- type: http
|
|
||||||
port: 8083
|
|
||||||
resources:
|
|
||||||
- names: [client, federation]
|
|
||||||
|
|
||||||
worker_log_config: /home/matrix/synapse/config/worker1_log_config.yaml
|
|
||||||
```
|
```
|
||||||
|
|
||||||
...is a full configuration for a generic worker instance, which will expose a
|
...is a full configuration for a generic worker instance, which will expose a
|
||||||
|
@ -363,6 +350,12 @@ stream_writers:
|
||||||
events: event_persister1
|
events: event_persister1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
An example for a stream writer instance:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
{{#include systemd-with-workers/workers/event_persister.yaml}}
|
||||||
|
```
|
||||||
|
|
||||||
Some of the streams have associated endpoints which, for maximum efficiency, should
|
Some of the streams have associated endpoints which, for maximum efficiency, should
|
||||||
be routed to the workers handling that stream. See below for the currently supported
|
be routed to the workers handling that stream. See below for the currently supported
|
||||||
streams and the endpoints associated with them:
|
streams and the endpoints associated with them:
|
||||||
|
@ -436,6 +429,12 @@ run_background_tasks_on: background_worker
|
||||||
You might also wish to investigate the `update_user_directory` and
|
You might also wish to investigate the `update_user_directory` and
|
||||||
`media_instance_running_background_jobs` settings.
|
`media_instance_running_background_jobs` settings.
|
||||||
|
|
||||||
|
An example for a dedicated background worker instance:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
{{#include systemd-with-workers/workers/background_worker.yaml}}
|
||||||
|
```
|
||||||
|
|
||||||
### `synapse.app.pusher`
|
### `synapse.app.pusher`
|
||||||
|
|
||||||
Handles sending push notifications to sygnal and email. Doesn't handle any
|
Handles sending push notifications to sygnal and email. Doesn't handle any
|
||||||
|
@ -615,14 +614,14 @@ The following shows an example setup using Redis and a reverse proxy:
|
||||||
| Main | | Generic | | Generic | | Event |
|
| Main | | Generic | | Generic | | Event |
|
||||||
| Process | | Worker 1 | | Worker 2 | | Persister |
|
| Process | | Worker 1 | | Worker 2 | | Persister |
|
||||||
+--------------+ +--------------+ +--------------+ +--------------+
|
+--------------+ +--------------+ +--------------+ +--------------+
|
||||||
^ ^ | ^ | | ^ | ^ ^
|
^ ^ | ^ | | ^ | | ^ ^
|
||||||
| | | | | | | | | |
|
| | | | | | | | | | |
|
||||||
| | | | | HTTP | | | | |
|
| | | | | HTTP | | | | | |
|
||||||
| +----------+<--|---|---------+ | | | |
|
| +----------+<--|---|---------+<--|---|---------+ | |
|
||||||
| | +-------------|-->+----------+ |
|
| | +-------------|-->+-------------+ |
|
||||||
| | | |
|
| | | |
|
||||||
| | | |
|
| | | |
|
||||||
v v v v
|
v v v v
|
||||||
====================================================================
|
======================================================================
|
||||||
Redis pub/sub channel
|
Redis pub/sub channel
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in a new issue