【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】4.3.1
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
老师好,请问目前我们搭建了一个OceanBase集群,有3个Zone,分别为Zone1,Zone2,Zone3, 现在的需求是从Zone3获取数据,如何实现?
【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】4.3.1
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
老师好,请问目前我们搭建了一个OceanBase集群,有3个Zone,分别为Zone1,Zone2,Zone3, 现在的需求是从Zone3获取数据,如何实现?
您好 您指的是zone3 读写么,如果zone3读写的话很简单的
1 设置primaryzone 为zone3;zone1,zone2 就可以达到zone3读写,zone1,zone2是followe形式
您好,我描述的不够清楚,
具体而言,想从Zone1写入,而从Zone3 读取
可以为指定的zone配置region和idc,然后在obproxy上进行路由配置,可以参考
https://www.oceanbase.com/docs/common-odp-doc-cn-1000000000755696
方式一:LDC路由,如果只读的SQL是单独通过一个应用发送的可以在单独部署一个OBProxy关联集群,只读应用连接这个OBProxy
通过要设置为弱一致性读的OBProxy连接到数据库,执行如下命令进行修改
alter proxyconfig set obproxy_read_consistency=1;
该配置项取值为 0 和 1,默认为 0,表示强读 1 表示弱读。
alter system modify zone “z1” set region = “region1”;
alter system modify zone “z1” set idc = “idc1”;
alter system modify zone “z2” set region = “region1”;
alter system modify zone “z2” set idc = “idc2”;
alter proxyconfig set proxy_idc_name=‘idc1’;
select * from T1;
OBProxy会将弱读请求路由到同idc的z1
方式二:修改sql,加上弱一致性读的Hint或者修改变量
后面的大佬的回答很好了
谢谢两位大佬