淄博网站app,全国企业查询系统官网,企业年报系统登录入口,网站源码是啥OBProxy路由策略 Primary Zone 路由
官方声明默认情况#xff0c;会将租户请求发送到租户的 primary zone 所在的机器上#xff0c;通过 Primary Zone 路由可以尽量发往主副本#xff0c;方便快速寻找 Leader 副本。另外#xff0c;设置primary zone 也会在一定成都上减少…
OBProxy路由策略 Primary Zone 路由
官方声明默认情况会将租户请求发送到租户的 primary zone 所在的机器上通过 Primary Zone 路由可以尽量发往主副本方便快速寻找 Leader 副本。另外设置primary zone 也会在一定成都上减少 分布式执行计划 以及 远程执行计划 生成对于SQL性能提升有一定的帮助 OBProxy 配置项 enable_primary_zone 控制是否启用Primary zone路由默认是开启的
[rootserver061 ~]# mysql -h10.0.0.61 -P2883 -urootsys#obdemo61 -paaAA11__
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7619
Server version: 5.6.25 OceanBase 4.2.1.10 (r110020012024120420-760d3c19482ba306e5a10e214a8ec64422bbf1f0) (Built Dec 4 2024 20:33:18)Copyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql show proxyconfig like enable_primary_zone;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| name | value | info | need_reboot | visible_level | range | config_level |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| enable_primary_zone | True | enable proxy route according to the tenant primary zone priority while proxy calculate route failed. | false | USER | | LEVEL_GLOBAL |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)mysql
设置租户的Primary Zone优先级
命令行方式
obclient [oceanbase] ALTER TENANT mq_t1 PRIMARY_ZONEzone1,zone2;
Query OK, 0 rows affected
OCP方式 ODP指定Zone路由
官方声明如下
1.在业务并不关心Leader位置需要路由到指定节点的场景下我们可以通过ODP 配置项配置指定zone路由 proxy_primary_zone_nameODP会将请求路由至固定的OBServer节点。 2. ODP的配置项proxy_primary_zone_name 优先级高于OceanBase 集群租户的Primary Zone。该配置项是强制性的路由。如果是交易 支付等强读业务希望路由到Leader的场景不建议设置该路由策略避免产生大量远程路由、二次路由等问题 使用sys租户登录ODP设置
[rootserver061 ~]# mysql -h10.0.0.61 -P2883 -urootsys#obdemo61 -paaAA11__
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 879
Server version: 5.6.25 OceanBase 4.2.1.10 (r110020012024120420-760d3c19482ba306e5a10e214a8ec64422bbf1f0) (Built Dec 4 2024 20:33:18)Copyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql
mysql
mysql ALTER PROXYCONFIG SET PROXY_PRIMARY_ZONE_NAME zone1;
Query OK, 0 rows affected (0.02 sec)mysql普通租户创建测试表
[rootserver061 ~]# mysql -h10.0.0.61 -P2883 -urootobmysql#obdemo61 -paaAA11__
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 892
Server version: 5.6.25 OceanBase 4.2.1.10 (r110020012024120420-760d3c19482ba306e5a10e214a8ec64422bbf1f0) (Built Dec 4 2024 20:33:18)Copyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql
mysql use tpccdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql
mysql CREATE TABLE T(C1 INT,C2 INT,C3 INT) PARTITION BY- HASH(C1) PARTITIONS 8;
Query OK, 0 rows affected (0.47 sec)指定分区键进行查询可以看出ODP路由到zone1上
mysql EXPLAIN ROUTE SELECT * FROM T WHERE C11;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Route Plan |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
Trans Current Query:EXPLAIN ROUTE SELECT * FROM T WHERE C11Route Prompts
-----------------ROUTE_INFO[INFO] Will do table partition location lookup to decide which OBServer to route toRoute Plan
-----------------SQL_PARSE:{cmd:OB_MYSQL_COM_QUERY, table:t}ROUTE_INFO:{route_info_type:USE_PARTITION_LOCATION_LOOKUP}LOCATION_CACHE_LOOKUP:{mode:oceanbase} TABLE_ENTRY_LOOKUP_START:{} FETCH_TABLE_RELATED_DATA:{part_level:1, part_expr:c1} TABLE_ENTRY_LOOKUP_DONE:{table:t, table_id:500079, table_type:USER TABLE, partition_num:8} PARTITION_ID_CALC_START:{} EXPR_PARSE:{col_val:C11} RESOLVE_EXPR:{part_range:[1 ; 1]} RESOLVE_TOKEN:{token_type:TOKEN_INT_VAL, resolve:BIGINT:1, token:1} CALC_PARTITION_ID:{part_description:partition by hash(INTbinary) partitions 8} PARTITION_ID_CALC_DONE:{partition_id:200057, level:1, partitions:(p1)} PARTITION_ENTRY_LOOKUP_DONE:{leader:10.0.0.61:2881}ROUTE_POLICY:{route_policy:PROXY_PRIMARY_ZONE_NAME_ONLY, replica:10.0.0.61:2881, idc_type:SAME_IDC, zone_type:ReadWrite, role:LEADER, type:FULL, is_partition_server:true, proxy_primary_zone:zone1, chosen_route_type:ROUTE_TYPE_MAX, trans_consistency:WEAK, session_consistency:WEAK, proxy_idc_name:hanzghou1}CONGESTION_CONTROL:{svr_addr:10.0.0.61:2881}|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.14 sec)mysqlLDC路由
官网声明如下 使用sys租户设置OceanBase 集群的LDC配置
[rootserver061 ~]# mysql -h10.0.0.61 -P2883 -urootsys#obdemo61 -paaAA11__
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7616
Server version: 5.6.25 OceanBase 4.2.1.10 (r110020012024120420-760d3c19482ba306e5a10e214a8ec64422bbf1f0) (Built Dec 4 2024 20:33:18)Copyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql ALTER SYSTEM MODIFY zone zone1 SET region zhejiang;
Query OK, 0 rows affected (0.08 sec)mysql ALTER SYSTEM MODIFY zone zone1 SET idc hanzghou1- ;
Query OK, 0 rows affected (0.00 sec)mysql SELECT * FROM oceanbase.DBA_OB_ZONES;
-------------------------------------------------------------------------------------------------------
| ZONE | CREATE_TIME | MODIFY_TIME | STATUS | IDC | REGION | TYPE |
-------------------------------------------------------------------------------------------------------
| zone1 | 2024-12-29 14:35:19.466142 | 2025-01-28 23:49:47.159742 | ACTIVE | hanzghou1 | zhejiang | ReadWrite |
-------------------------------------------------------------------------------------------------------
1 row in set (0.01 sec)mysql 使用sys租户登录设置ODP的LDC配置
mysql ALTER PROXYCONFIG SET proxy_idc_name hanzghou1;
Query OK, 0 rows affected (0.00 sec)mysql
mysql
mysql SHOW PROXYINFO IDC;
---------------------------------------------------------------------------------------------------------
| global_idc_name | cluster_name | match_type | regions_name | same_idc | same_region | other_region |
---------------------------------------------------------------------------------------------------------
| hanzghou1 | obdemo61 | MATCHED_BY_IDC | [[0]zhejiang] | [[0]zone1] | [] | [] |
---------------------------------------------------------------------------------------------------------
1 row in set (0.01 sec)mysql官方声明
通过 配置项proxy_idc_name 控制给 OceanBase 集群的 Zone 设置 地区Region属性和机房IDC属性并给ODP指定机房IDC配置 项ODP将弱读请求按“同机房同地区异地”的优先级顺序进行 OBServer 的选取主要体现是就近原则 随机路由
如果OB集群为多副本 且未开启 Primary Zone 路由 或者 未设置 LDC 路由就会直接使用随机路由如下图中租户Zone优先级为random的租户