我们希望让我们的 Redis 更具可扩展性,并且能够添加更多的读实例。
我正在尝试使用这个新的 Reader endpoint:https://aws.amazon.com/about-aws/whats-new/2019/06/amazon-elasticache-launches-reader-endpoint-for-redis 然而,我没有看到任何简单或自动化的方法可以让ioredis使用这种方法,即我可以设置哪个端点用于写入,哪个端点用于读取。即使在此处,我也可以看到推荐的方法最终是“手动分裂”:https://github.com/luin/ioredis/issues/387 您是否了解任何现有的解决方案或良好的方法,可以设置哪些端点用于写入,哪个端点用于读取?
对我来说最直接的方法是一种“代理”层,其中我将创建两个 Redis 实例,我将向主要端点发送所有写操作,向 Reader 端点发送所有读操作。但是我更喜欢一些更好(或经过良好测试)的方法。
PS:我尝试使用ioredis的
我正在尝试使用这个新的 Reader endpoint:https://aws.amazon.com/about-aws/whats-new/2019/06/amazon-elasticache-launches-reader-endpoint-for-redis 然而,我没有看到任何简单或自动化的方法可以让ioredis使用这种方法,即我可以设置哪个端点用于写入,哪个端点用于读取。即使在此处,我也可以看到推荐的方法最终是“手动分裂”:https://github.com/luin/ioredis/issues/387 您是否了解任何现有的解决方案或良好的方法,可以设置哪些端点用于写入,哪个端点用于读取?
对我来说最直接的方法是一种“代理”层,其中我将创建两个 Redis 实例,我将向主要端点发送所有写操作,向 Reader 端点发送所有读操作。但是我更喜欢一些更好(或经过良好测试)的方法。
PS:我尝试使用ioredis的
Cluster
功能进行“黑客攻击”,但是即使没有任何功能的简单连接和一个主要端点也会失败,ClusterAllFailedError:Failed to refresh slots cache。
(为了启用 Reader endpoint,集群模式必须关闭)。
.scaleReads ='slave'
作为负载均衡的分配方式。 - libikredisro
。 - libik