


























1 zzlyzq 2024 年 10 月 23 日如果你的应用比较少,比如只有一台云主机里面部署了应用。那么,可以在这个云主机里面,做一个 lo 本地环回接口,地址 192.168.50.11 ,然后部署一个 rinetd 程序,将 192.168.50.11:6379 端口,转发到 192.168.2.10:6379. |
2 FabricPath 2024 年 10 月 23 日跨 Vpc 访问底层数据库这个方案设计得不好。 |
3 zzlyzq 2024 年 10 月 23 日不过,这个问题是云平台导致的问题。这个是自己的云,还是公有云? |
5 0x5c0f 2024 年 10 月 23 日@zzlyzq 关于转发是测试过了,主要是主备 Redis 本书数据存储的就是他们的实际节点,这个理论上是没有什么问题的, 因为这是正常的情况, 问题就是我后面说的这种,2 台机器 A 和 B ,B 上面通过 docker 创建 Redis 主备服务,那么 Redis 中存储的主备信息就是 docker 内的网络信息,A 机器是和 B 机器处于统一网段,但是,他不可能直接请求到 B 机器上 docker 内的 ip 。 |
6 0x5c0f 2024 年 10 月 23 日@FabricPath 平台的架构看起来就是这样的,也没办法改变,我是想如果我自建的时候遇到这种情况,应该如何解决,根据平台反馈,他们的 redis 就是相当于一个虚拟机内的,他们提供给我们的就是一个映射的地址,而 Redis 主备存储的信息是他们虚拟机内的网络信息 |
7 julyclyde 2024 年 10 月 23 日我觉得是他们这个代理的问题啊 |
8 FabricPath 2024 年 10 月 23 日@0x5c0f 你自建没有问题,他这个问题是因为 redis 在公共服务区,他给你的是一个 1:1 nat 的访问地址 |
9 0x5c0f 2024 年 10 月 23 日@FabricPath 是的,如果是按照正常流程,Redis 主备,应该每个节点都位于与应用同一网络下,这种就不会有问题,但是假设我 Redis 主备,是部署到虚拟机或者 k8s 这种大环境下,那么 redis 中存储的主备信息就是虚拟机或者 k8s 内部分配的 ip ,这种情况,如果应用通过 `INFO REPLICATION` 拿到的信息肯定就是不正确的了 |
10 guo4224 2024 年 10 月 23 日非得把所有节点 ip 都给你,你自己搞就好了 |
11 oneegg 2024 年 10 月 23 日 via iPhone看起来 redis proxy 都可以解决你的问题 |
12 adoal 2024 年 10 月 23 日为什么你在业务系统里直连主、备节点的实际地址呢,连负载均衡地址不能完成你的需求吗? |
13 opengps 2024 年 10 月 23 日这种用了负载均衡的主备只有容灾效果,防止单个节点死掉,并不具备读写分离效果 |
14 0x5c0f 2024 年 10 月 23 日@adoal 因为程序这边那个默认组件他使用的是 INFO REPLICATION 去获取的主备信息,只有第一次程序会去通过配置文件中设置的负载地址连接,后面就通过 INFO 拿了,所以上面也说了,研发去重写代码自适应这个了 |
15 0x5c0f 2024 年 10 月 23 日@opengps 对啊,所以我才想要请教,有没有什么方案,可以解决这个问题,可以解决 `INFO REPLICATION`获取到实际节点信息的问题 |
17 iloveayu 2024 年 10 月 23 日@0x5c0f #4 公有云平台开支持单给他们啊,把你的需求扔过去让支持工程师们给方案,如果公有云的能力没办法支持你的想法,自己搞完等到上线后跑出问题,那锅就都在你了。 |
18 sagaxu 2024 年 10 月 23 日用了 redis 代理,就不该获取主备信息,因为你只能连接代理,对你来说只有一个结点,背后是什么结构对你是透明的。 如果你是要一个高可用的获得 redis 主备的方式,那你应该用 sentinel ,从 sentinel 获取主备信息,而不该用代理。 |
19 ICKelin 2024 年 10 月 24 日感觉差一个打通网络的产品,可以用来打通 VPC 网络,甚至可以打通不同的 k8s 集群的网络,这样以后同样的跨网络的业务也都不需要再解决了。 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。