Reputation: 81
We have multiple applications (approx. 500) hosted on different servers (IIS). For caching purposes, .Net Enterprise Library (in-memory) is being used currently. But this is an overhead for the application servers when the cache grows. Therefore, we have a plan to keep a distributed cache using Redis.
Requirement: Multiple applications would write/read the data into/from redis cache. However, we would like to keep each application's data separate. This way a noisy application wouldn't have an impact on the other applications. Also it would increase the data search performance when it is segregated.
Redis enables different solutions(modes) like Standalone, Sentinel and Cluster.
I believe 'Standalone' mode would work like this. In a Redis Server, there will be a redis instance where a database can be created. With this mode, multiple application's data would be stored in the same database. This may not enable us to store the data at the application level. Though we can use the namespaces (prefix to key) to identify the application specific data, the growing number of applications and the data would have an impact on the key search from the application. Also since it is single-threaded, it is expected that there will be an impact on the operations during the peak hours.
Considering the above requirements including scalability and high availability, please suggest the best mode to go with.
P.S, We'll install the redis in a dedicated server separately from the application server.
Upvotes: 0
Views: 584
Reputation: 814
There is not really enough information here to make a solid recommendation.
At peak all of our applications will have a combined throughput of 50K ops/second
5M keys of average size 256bytes
need 95% uptime and downtime is not critical as the application can still function
We have a crack staff of Follow the sun SREs
If you have high SLA and low throughput and memory requirements Sentinel may work.
If you have high SLA and high throughput and memory requirements Cluster.
Either of the above options will work if your SRE level is high, but you may want to consider hosted or commercially supported options if that is not the case.
Upvotes: 0