路由策略理,搞不懂。
OceanBase 社区已接收您的帖子,正在跟进中。
根据官方文档设置备优先读
–使用hint方式
–部署的架构1-1-1
proxy_route_policy的理解:
1、配置弱读如何路由
路由规则解释:
强读 Primary Zone:Zone 内可能有多个机器,需要通过路由策略所指定的优先级进行选择
强读分区表计算失败:失败后 OBProxy 不知道该路由到哪个机器,需要通过路由策略所指定的优先级进行选择
问题:
即便设置了proxy_route_policy,但它的值是FOLLOWER_FIRST或FOLLOWER_ONLY,它指定的是“弱读”的优先级,和“强读”没关系啊。
答:可以强读,有默认的策略。强读不会用 proxy_route_policy 这个值
LDC路由:
LDC 路由是指选择副本路由时考虑副本的 LDC 的属性,强读弱读都会用,强读会发给 leader,一般一个表或分区只有一个 leader,路由时没有其他的选择,所以看起来是没有考虑副本的 LDC 属性
问题:
select * from t1,
在observer1上执行,但是observer1没有数据,数据在observer2上,此时是remote执行计划,此时就需要创建一个新的到observer2的后端连接,这个新的后端连接是obproxy去创建的吗?还是observer1去创建呢?
数据从observer2返回给observer1?还是返回给obproxy?
答:observer1 通过 rpc observer2 获取到数据,最后通过 observer1 返回给 OBProxy
问题:
答:这里没有专门配置白名单的地方,这里应该说的是与黑名单相对的那些主机地址
问题:
答:这个应该是说的有个分区键 C1,可以在 SQL 中提供一个由函数表示的 C1 列值,比如 where C1=func(xx) 把函数作为分区键的值路由
问题:
只针对弱读而言,下面两种是不是一样的:
多地部署,配置了LDC,但没有配置proxy_route_policy,优先访问指定机房的备副本?
多地部署,配置了LDC,配置了proxy_route_policy,优先访问指定机房的备副本?
答:1、如果配置sql的弱读会访问
2、会访问的