『 Thinking in DistSQL 』 如何查询所有 Proxy 实例

Thinking in DistSQL ? :face_with_monocle:

提供部分 DistSQL 的完整的使用示例以及一些小技巧,让用户能够更轻松的使用 DistSQL

语法

第一期为大家带来的是 RAL 语法 :SHOW INSTANCE LIST :triangular_flag_on_post:

语法作用

SHOW INSTANCE LIST 设计的目的是用来展示当前集群中所有的 PROXY 实例以及实例相关的信息,当然如果是非集群模式下则只展示当前实例的信息。关于不同运行模式的定义可以参考 运行模式。

使用

接下来让我们在集群模式和单机模式下实际使用一下 SHOW INSTANCE LIST 语句。

:one: 准备工作
  1. 连接 Proxy :目前 DistSQL 仅支持在 Proxy 上执行 因此在执行 DistSQL 之前需要先启动 Proxy 并进行连接

Proxy 启动和连接的过程可以参考 启动步骤

  1. 模式配置:因为需要使用到 Proxy 不同的运行模式,关于不同的运行模式的配置可以参考 模式配置
:two: 单机模式

完整的 Server.yaml 配置

mode:
  type: Standalone
  repository:
    type: File
    props:
      path: demo/shardingsphere
  overwrite: false

rules:
  - !AUTHORITY
    users:
      - root@%:root

在启动并成功连接到 Proxy 后,通过命令行工具执行SHOW INSTANCE LIST 语句。

mysql> show instance list;

执行结果如下

+----------------+-----------+------+---------+------------+--------+
| instance_id    | host      | port | status  | mode_type  | labels |
+----------------+-----------+------+---------+------------+--------+
| 12.3.4.56@3309 | 12.3.4.56 | 3309 | enabled | Standalone |        |
+----------------+-----------+------+---------+------------+--------+

因为使用单机模式启动,所有 SHOW INSTANCE LIST 语句只会展示当前实例的信息。

字段解析

  • instance_id :为实例的 id,目前由 host 和 port 组成

  • host :主机地址

  • port : 端口号

  • mode_type :实例启动的模式,包括 Standalone,Cluster 等

  • status : 实例的状态,用 enabled, disabled 分别表示启用和禁用状态,可通过 DISABLE INSTANCE 语句对实例进行修改

  • labels : 实例拥有的标签,可通过 LABEL INSTANCE 语句对标签进行新增

:three: 集群模式

完整的 server.yaml 配置如下; 此处使用 Zookeeper 作为注册中心,因此需要先启动 Zookeeper ,并将 Zookeeper 地址配置在 server-lists 字段中。

mode:
  type: Cluster
  repository:
    type: ZooKeeper
    props:
      namespace: governance_ds
      server-lists: localhost:2181
      retryIntervalMilliseconds: 500
      timeToLiveSeconds: 60
      maxRetries: 3
      operationTimeoutMilliseconds: 500
  overwrite: true

rules:
  - !AUTHORITY
    users:
      - root@%:root

以同样的 server.yaml 配置,启动三个 Proxy 实例,连接其中任何一个实例并执行 SHOW INSTANCE LIST语句。

mysql> show instance list;
+----------------+-----------+------+---------+------------+--------+
| instance_id    | host      | port | status  | mode_type  | labels |
+----------------+-----------+------+---------+------------+--------+
| 12.3.4.56@3306 | 12.3.4.56 | 3306 | enabled | Cluster    |        |
| 12.3.4.56@3307 | 12.3.4.56 | 3307 | enabled | Cluster    |        |
| 12.3.4.56@3308 | 12.3.4.56 | 3308 | enabled | Cluster    |        |
+----------------+-----------+------+---------+------------+--------+

可以发现在查询结果中展示了当前集群中所有的 Proxy 实例信息。

以上就是 SHOW INSTANCE LIST 的使用方式。 :wave:

2 个赞
京ICP备2021015875号