ShardingSphere踩坑之旅03-UI

839 阅读3分钟

简介

通过官方介绍,对ShardingSphere-UI做一个快速入门

目标

运行ShardingSphere-5.0.0-beta的 UI控制台,实现最基础的功能演示。记录自己的过程,总结一下自己对ShardingSphere的理解,提交文档。

环境准备

1. 本地搭建zk,启动服务

这一步简单,下载安装包,解压后,将zoo_sample.cfg改为zoo.cfg,通过.bat脚本启动即可

image.png

2. 本地搭建ShardingSphere Proxy-版本:5.0.0-alpha,启动服务

下载路径:archive.apache.org/dist/shardi…

下载、解压到本地后:

  1. 在\lib目录下,添加jar包:mysql-connector-java-5.1.48.jar,用于后续连接本地的mysql服务
  2. 修改\conf下的几个配置文件:server.yaml(保证注册到本地的zk服务上)、config-encrypt.yaml
governance:
  name: governance_ds
  registryCenter:
    type: ZooKeeper
    serverLists: localhost:2181
    props:
      retryIntervalMilliseconds: 500
      timeToLiveSeconds: 60
      maxRetries: 3
      operationTimeoutMilliseconds: 500
  overwrite: false

authentication:
  users:
    root:
      password: root
    sharding:
      password: sharding
      authorizedSchemas: sharding_db
  1. 进到\bin目录下,双击start.bat启动服务

image.png

3. 本地搭建ShardingSphere UI-版本:5.0.0-alpha,启动服务

下载地址:archive.apache.org/dist/shardi…

下载、解压到本地后,直接进到\bin目录下,双击start.bat启动服务

浏览器访问http://localhost:8088/ ,用admin账号登录(账密在安装包的/conf/application.properties里)

界面如下:

image.png

4. 通过UI界面管理proxy服务

在注册中心界面,添加zk服务信息

image.png

image.png

点击【链接】,激活当前的zk,再切换到【配置管理】界面,可以看到proxy上的配置项,都已经同步过来了

image.png

至此,整个服务链路完成闭环:MySQL服务->proxy服务->zk->UI

验证示例

前面两天分别验证了ShardingSphere-JDBC、ShardingSphere-Proxy下的数据分片、分库分表、数据加密等功能,今天的重点在于通过搭建ShardingSphere-UI这个界面化工具,来进行治理,因此,不再挨个验证功能,仅测试数据加密

1. 数据加密

数据库初始化

CREATE SCHEMA IF NOT EXISTS demo_ds_0;
CREATE SCHEMA IF NOT EXISTS demo_ds_1;

修改配置项

配置过程可以参照上一篇博文,这里不再赘述

启动示例工程

验证数据

image.png

2. 通过界面修改加密规则,验证是否生效

这一步验证才是今天的关键!!!

重新初始化数据库后,在UI界面上修改加密规则的配置项:

image.png

启动示例工程,验证数据:

image.png

可以看到,加密后的数据发生了变化,说明上一步的规则配置已经生效!!!

3. 验证修改后的规则,是否回写到配置文件里

首先,检查了下本地的config-encrypt.yaml,发现加密规则并没有变化:

image.png

再到本地的zk服务上,查看注册上来的proxy服务信息是否变化:

image.png

可以看到,加密规则已经变化。由此,博主推测:当proxy服务注册到zk后,加密策略也只在zk上维护,实际生效的也是zk上的策略;当通过UI界面改变策略时,仅同步到zk,而不同步proxy服务本地的配置文件。

总结

今天简单地实现了一下ShardingSphere-UI的治理功能,验证了规则配置的实时生效。