OBD参数配置疑问

数据库版本:社区版OB314

在ob314在线文档中,由如下描述:

=====================
备优先路由

常规部署下,支持备优先读策略。通过用户级别的系统变量 proxy_route_policy 控制,仅在常规部署和弱一致性读的情况下生效,优先读 Follower 而非主备均衡路由。
在常规模式部署和弱一致性读时,设置 set @proxy_route_policy='follower_first';,路由将优先发往备 OBServer,即使 OBServer 处于正在合并状态。将按照以下优先级进行路由选择:

=====================

对于配置项proxy_route_policy的查看与设置想请教几个问题:

  1. proxy_route_policy是变量还是参数?应该如何设置?
    我先通过obproxy连接数据库,登录sys租户
    mysql -h xxx -p 2883 -uroot@sys#tmpdev -p xxx -c -A
    然后执行show variables; 没有查到该变量。但是通过show proxyconfig like ‘%proxy_route_policy%’; 可以查到,默认值为空串。这与文档描述的 “proxy_route_policy是变量,可以通过set设置” 这个意思不一致,它其实是个参数。这应该如何理解?
  2. proxy_route_policy是集群级还是租户级配置项?
    在sys租户下可以执行show proxyconfig查询到proxy_route_policy,但是在普通租户下,执行show proxyconfig会报语法错误。这是否说明obproxy的相关配置项只能在sys租户下设置,是集群级配置项,对所有租户生效?

另外还有一个疑问:在线文档中说 “使用 root@proxysys 账号登录 ODP,密码由用户安装 ODP 时自己设置” 。 我们部署的3.3.0版本OCP,其上部署ODP时,没有设置proxysys租户的选项。因此我们实际是没有proxysys的。那如果我们要修改OBProxy的参数,应当怎样链接?是root@sys就可以么?

  1. proxy_route_policy 是用户变量,没办法通过 show variables 语句查询。
  2. proxy_route_policy 是用户级的变量,用户自定义变量只用于指定会话。一个客户端定义的用户变量对其他客户端不可见或不可使用。当该客户端退出时,将自动释放指定客户端会话的所有变量。
  3. 如果需要修改 OBProxy 的配置,可以直接在 OCP 上修改;但如果使用 sys 或者 proxysys 租户修改 proxy 配置的话会全局生效,不建议修改。

可参考文档:备优先读SQL 路由SET用户自定义变量