0002 Persist Accounts Using Cs3 Storage
2. Persist accounts in a CS3 storage
- Status: accepted
- Deciders: @butonic, @felixboehm
- Date: 2020-08-21
Technical Story: File system based indexing
To set up High Availability (HA) or a geo-replicated setup we need to persist accounts in a distributed way. To efficiently query the accounts by email or username, and not only by id, they need to be indexed. Unfortunately, the bleve index we currently store locally on disk cannot be shared by multiple instances, preventing a scale out deployment.
- Look into distributed bleve
- Persist users in a CS3 storage
Chosen option: “Persist users in a CS3 storage”, because we have one service less running and can rely on the filesystem for geo-replication and HA.
- We can store accounts on the storage using the CS3 API, pushing geo-distribution to the storage layer.
- Backups of users and storage can be implemented without inconsistencies between using snapshots.
- We need to spend time on implementing a reverse index based on files, and symlinks.