matrix-org / synapse

Synapse: Matrix homeserver written in Python/Twisted.
https://matrix-org.github.io/synapse
Apache License 2.0
11.83k stars 2.12k forks source link

Shard master process. #6677

Closed erikjohnston closed 4 years ago

erikjohnston commented 4 years ago

Currently we have a single master process which can quickly become a bottleneck, so we want to be able to run multiple "master" nodes and scale horizontally.

Some notes:

Potential approaches:

djschilling commented 4 years ago

If there are steps in this direction please also consider not only performance, but high availability.

So a single master process would not be ideal in my eyes.

See also this issue i opened with focus on ha: https://github.com/matrix-org/synapse/issues/7076

anoadragon453 commented 4 years ago

@djschilling The point of this project is to run more than one master process.

That said, ensuring the whole thing doesn't fall over if 2/3 aren't running would be great.

erikjohnston commented 4 years ago

Synapse now supports moving writing of events to a different process. I've opened #7593 to track further work.