我在 IIS 上有一个 ASP.NET Web 应用程序,它将大量数据缓存到内置的 ASP.NET 缓存中。我想将缓存移动到 Redis 并为此使用 AWS ElastiCache Redis,因为目前我的所有服务器都不共享它们的缓存。它们已经托管在 EC2 上。我需要了解,通过将缓存从基本相同的服务器(我托管我的应用程序)移动到 AWS ElastiCache 的某个网络实例,是否不会降低性能?我读到 AWS Redis 本身有一个“亚毫秒级延迟”,但是我没有明白,如果它也涉及网络延迟或者必须满足什么条件才能获得这种延迟。
这是我的情况:
- IIS EC2 WinServer2008R2 负载均衡下的 2 个应用服务器
- 需要将上千种不同的对象缓存为JSON,最大可达1M符号
- 所有服务器可以设置在同一区域
所以这里有一个问题:
- AWS ElastiCache Redis 是合适的解决方案吗?
- 我应该怎么做才能最大程度地减少 Redis 的延迟?
提前谢谢你。
最佳答案
我需要了解,通过从基本相同的服务器移动缓存是否不会降低性能 - 是的,您会观察到延迟以毫秒为单位增加,但由于您正在移动为了集中缓存,如果实例共享缓存数据,数据将不会在实例中重复。
我读到 AWS Redis 本身有一个“亚毫秒级延迟”,但是我没听懂,是否也提到了网络延迟或者必须满足什么条件才能获得这种延迟。 - 不,它不包括网络延迟,网络延迟因您将实例放置在子网中的方式而异。
AWS ElastiCache Redis 是合适的解决方案吗?是的,因为您将获得内置 key 过期的能力,它支持丰富的数据结构,您的数据通过拥有一个从站而更加可靠,您可以使用 PUB/SUB 功能等。
我应该怎么做才能最大限度地减少 Redis 的延迟?如果您在单个可用区而不是两个可用区中托管实例,请在同一个可用区中托管您的 Redis 主节点,这将减少延迟.
关于amazon-web-services - AWS ElastiCache Redis 是否有明显的网络延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52509108/