forked from MirrorHub/synapse
PR feedback
This commit is contained in:
parent
b7ffa0e2cd
commit
58d6c93103
1 changed files with 9 additions and 5 deletions
|
@ -20,7 +20,7 @@ To enable workers, you need to add a replication listener to the master synapse,
|
||||||
|
|
||||||
listeners:
|
listeners:
|
||||||
- port: 9092
|
- port: 9092
|
||||||
bind_address: ''
|
bind_address: '127.0.0.1'
|
||||||
type: http
|
type: http
|
||||||
tls: false
|
tls: false
|
||||||
x_forwarded: false
|
x_forwarded: false
|
||||||
|
@ -28,6 +28,10 @@ To enable workers, you need to add a replication listener to the master synapse,
|
||||||
- names: [replication]
|
- names: [replication]
|
||||||
compress: false
|
compress: false
|
||||||
|
|
||||||
|
Under **no circumstances** should this replication API listener be exposed to the
|
||||||
|
public internet; it currently implements no authentication whatsoever and is
|
||||||
|
unencrypted HTTP.
|
||||||
|
|
||||||
You then create a set of configs for the various worker processes. These should be
|
You then create a set of configs for the various worker processes. These should be
|
||||||
worker configuration files should be stored in a dedicated subdirectory, to allow
|
worker configuration files should be stored in a dedicated subdirectory, to allow
|
||||||
synctl to manipulate them.
|
synctl to manipulate them.
|
||||||
|
@ -65,12 +69,12 @@ For instance::
|
||||||
worker_pid_file: /home/matrix/synapse/synchrotron.pid
|
worker_pid_file: /home/matrix/synapse/synchrotron.pid
|
||||||
worker_log_config: /home/matrix/synapse/config/synchrotron_log_config.yaml
|
worker_log_config: /home/matrix/synapse/config/synchrotron_log_config.yaml
|
||||||
|
|
||||||
...is a full configuration for a synchotron worker instance, which will expose a
|
...is a full configuration for a synchrotron worker instance, which will expose a
|
||||||
plain HTTP /sync endpoint on port 8083 separately from the /sync endpoint provided
|
plain HTTP /sync endpoint on port 8083 separately from the /sync endpoint provided
|
||||||
by the main synapse.
|
by the main synapse.
|
||||||
|
|
||||||
Obviously you should configure your loadbalancer to route the /sync endpoint to
|
Obviously you should configure your loadbalancer to route the /sync endpoint to
|
||||||
the synchotron instance(s) in this instance.
|
the synchrotron instance(s) in this instance.
|
||||||
|
|
||||||
Finally, to actually run your worker-based synapse, you must pass synctl the -a
|
Finally, to actually run your worker-based synapse, you must pass synctl the -a
|
||||||
commandline option to tell it to operate on all the worker configurations found
|
commandline option to tell it to operate on all the worker configurations found
|
||||||
|
@ -80,12 +84,12 @@ in the given directory, e.g.::
|
||||||
|
|
||||||
Currently one should always restart all workers when restarting or upgrading
|
Currently one should always restart all workers when restarting or upgrading
|
||||||
synapse, unless you explicitly know it's safe not to. For instance, restarting
|
synapse, unless you explicitly know it's safe not to. For instance, restarting
|
||||||
synapse without restarting all the synchotrons may result in broken typing
|
synapse without restarting all the synchrotrons may result in broken typing
|
||||||
notifications.
|
notifications.
|
||||||
|
|
||||||
To manipulate a specific worker, you pass the -w option to synctl::
|
To manipulate a specific worker, you pass the -w option to synctl::
|
||||||
|
|
||||||
synctl -w $CONFIG/workers/synchotron.yaml restart
|
synctl -w $CONFIG/workers/synchrotron.yaml restart
|
||||||
|
|
||||||
All of the above is highly experimental and subject to change as Synapse evolves,
|
All of the above is highly experimental and subject to change as Synapse evolves,
|
||||||
but documenting it here to help folks needing highly scalable Synapses similar
|
but documenting it here to help folks needing highly scalable Synapses similar
|
||||||
|
|
Loading…
Reference in a new issue