- 事情是这样的,我们有一个项目,用的是`云 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`来解决这个问题,但不知道是不是配置不对,也没有解决,不知道还有没有其他的方案。 |
|