事情是这样的,我们有一个项目,用的是云 Redis
,一个 6.0
的主备环境。
大致的架构是 应用: 192.168.2.8
--> Redis 代理:192.168.2.10
(这个是平台提供给我们的负载均衡地址) ---> Redis 实际节点: 192.168.50.11
(这个是我们在平台不可见的地址), 这个有点像Redis
主从是通过docker
的方式部署的, 而平台提供给我们的是部署Redis
主从的物理机的IP
然后这个问题就出现在 INFO REPLICATION
这个命令上,这个命令在读取主从信息时候,他直接返回的是 Redis
实际部署的节点的IP
, 也就是192.168.50.11
, 所以应用在调用时候,会直接用 192.168.50.11
, 而不是 192.168.2.10
, 这样就会导致 应用和Redis
不在同一网络下,从而出现无法访问的问题。
目前我们采用的解决方案是研发这边重写了相关代码,自己去适应这种,而我想的是是否可以通过调整Redis
架构来解决这个问题, 云平台肯定是无法变动,但是我如果自建的时候,该如何解决呢。我开始想通过代理Pridixy
来解决这个问题,但不知道是不是配置不对,也没有解决,不知道还有没有其他的方案。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.