How to make redis Fast and scalable for Multiinstance Appwrite (Production grade)
- 0
- Self Hosted
- Flutter
- Databases

Currently i built my Appwrite architecture as follow. I have multiple servers in multiple regions in germany lets say server 1 and server 2. Each server has its own Appwrite, ProxySql and redis locally. and Each Instance access its own local Stuff. For database i have master DB sitting in Server1 and all the other servers will have the replica of it and i am managing it through ProxySql. Each region has its own proxySql because later i can add more DB replicas to that region and scale it furthor. So DB is Zentrelized by that with multiple replicas. Here i dont have any problem it workes perfectly.
And also Storage i have cloud storage and connected all the instaces to it.
Here now comes the problem, that i have with Redis currently. If each Instance has its own Redis and access it it workes but all the sessions changing something in one console will not affect in another and so on. So i need this setup that everything should be kind of local so that i not lose any speed due to high latency. I had before Redis centrelized but each request was very slow, because of latency in between i tried with my new architecture its super fast but i have just that one problem with redis.
I Searched and find out that i could use Redis in each instance and set up a bidirectional sync with RedisShake but again it might have problems with key collision or key mismatching.
So what option do i have to make it local and also also instances be in sync with the same keys? Anybody
Recommended threads
- Existing ID bug?!
Idk why this happens can someone explain!! why Im getting this error even if I "manually clear the collection" ?
- Constant 404 Pages
Whenever I am navigating through items and pages to go through my collections and database I end up at a page that sends me a 404 error, if i refresh it remains...
- Getting [object] [object] from appwrite
I'm fetching the data from appwrite having but for some reason I'm getting data in [object] [object] format why?
