element-hq / element-hq/element-ios
Redundant push gateways required
- Dominant language
- Swift
- Stars
- 1.8k
- Forks
- 544
- PR merge metrics
- PR metrics pending
Description
The last outages with matrix.org are showing that redundant push servers are highly required. It appears that the centralized gateway server is a sensitive single point of failure.
Matrix is designed to be highly secure and decentralized, which is shown by the fact that communications is not affected for all people running own homeservers (the basic idea behind Matrix ... and what it makes it so phantastic!).
Having a single push gateway really is a serious issue. For me and my users, 90% of all communications is @mobile / tablet - and although my servers are fine, up and working, it rendered pretty unusable right now as nobody gets the messages due to push gateway issues.
I'd suggest to deploy several gateway servers (different regions, different providers - can be simple VM instances) which are known to the homeservers. The HS can periodically make ping tests to determine the closest gateway instance (which distributes traffic). When the used gateway fails, it just changes the connection to the next available gateway server.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by reviewing how the iOS app currently uses the Matrix push gateway and compare that with the proposed redundant gateway and failover model; completion criteria need to be agreed before implementation can begin.
Written by the indexing model from the issue text.
Assessment
- Domain
- infrastructure, mobile, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100