我们有多个应用程序(大约。500)托管在不同的服务器(IIS)上。为了缓存目的,目前正在使用.Net企业库(内存中)。但是,当缓存增长时,这是应用程序服务器的开销。因此,我们有一个使用Redis保持分布式缓存的计划。
要求:多个应用程序可以将数据写入/从redis缓存中读取。但是,我们希望将每个应用程序的数据保持独立。这样,一个嘈杂的应用程序就不会对其他应用程序产生影响。此外,当数据被隔离时,它将提高数据搜索性能。
Redis支持独立、哨兵和集群等不同的解决方案(模式)。
我相信“独立”模式会是这样的。在Redis中,将有一个redis实例,其中可以创建数据库。在这种模式下,多个应用程序的数据将存储在同一个数据库中。这可能使我们无法在应用程序级别存储数据。虽然我们可以使用名称空间(前缀到键)来识别特定于应用程序的数据,但应用程序和数据的数量不断增加会对应用程序的密钥搜索产生影响。另外,由于它是单线程的,预计在高峰时间将对操作产生影响。
考虑到上述要求,包括可扩展性和高可用性,请建议最好的模式。
P.S .,我们将把redis安装在一个与应用服务器分开的专用服务器上。
发布于 2021-12-13 22:59:09
这里没有足够的信息来提出可靠的建议。
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
如果您有高SLA和低吞吐量和内存需求,Sentinel可能会工作。
如果您有高SLA和高吞吐量和内存需求集群。
如果SRE级别很高,上述两种选项都可以工作,但如果情况并非如此,您可能需要考虑托管或商业支持的选项。
https://stackoverflow.com/questions/70326223
复制相似问题