暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

参考阿里云DMS快速开发数据管理平台(二)

运维那点事 2020-07-15
1377

上一篇文章 “参考阿里云DMS快速开发数据管理平台(一)” 介绍了这个平台的框架、系统管理、审批流和安全规则与实例如何配合工作。下面接着简单说说其他的一些功能和改进。


新增 ElasticSearch 数据源,目前支持如下几种数据库:

所有数据源入口都是相同的,尽可能兼容,为使用者友好。


安全规则也新增了 ElasticSearch,和完善了其他规则。

安全规则可以随意创建,只需要关联到实例即可。比如这里 Redis 创建了生产和测试不同的安全规则,两者支持的命令不同,生产对于 SQLConsole 可能只允许查询命令,测试的允许修改命令等高危命令,这些管理员都是可以配置的。有了安全规则之后其实就比较灵活了,审批流、命令黑白名单都可以配置。


更改了数据源结构,允许给数据源添加只读节点。这样一些有风险的查询操作都可以走只读节点。

这里的两个开关,一个就是控制查询操作是否走只读节点,一个是控制 MySQL DDL 使用使用 GHOST 工具(当然,就算开启走 GHOST 工具后,系统也会判断表大小、行数及操作类型决定是否走 GHOST)。


数据变更工单流程与其他工单流程几乎相同,后面接的 goInception(目前 goInception 已经把审核和执行代码独立出来了,项目名称叫 inception-core,可以直接嵌入到 go web 项目里面了,就省去了网络开销了。后面用 Go 完整跑一遍,或者把现在的 Python 替换掉再分享)。

这里数据库可以选择同时变更多个(可能存在变更多个环境或双写的情况),信息填写完成后,点击 提交 当前页面就转换为 工单详情 页面了,进入到 预校验 阶段,如下图:

只有检测通过才能提交审核,没有通过你可以修改语句会重新检测。具体的检测信息可以点击 审核结果 按钮查看。


提交工单后,就可以看到审核信息了,如下图:

审批完成并执行完成或执行中时,如下图:

显示工单执行成功时,必须所有语句都执行成功,否则显示执行失败。具体执行详情到执行结果里面看。如果选择了回滚,这里可以看到回滚语句,并可以快速生成回滚工单。


关于结构设计部分的工单流程与数据变更相同。可以同时变更多个数据库,同时提交 CREATE 和 ALTER 语句,系统会把 CREATE 先执行,ALTER 后执行。同时 ALTER 语句会判断是走原生 DDL 还是 GHOST。这里只看一下执行结果:

如果是走原生 DDL 的语句,在 active 那里没有任何可操作的按钮。如果是走 GHOST 的语句,可以看到是可以执行暂停或终止,并且有日志信息。


这里没有完成之前说的结构设计是一个 workflow,流程图如下:

主要原因是有些东西还没想好怎么做,页面需要展示的信息太多,过于复杂。另外不同节点之间的差异 SQL 怎么提取和判断也需要花大量时间测试。但是后面有空会去完善这个 workflow,这样一来,整个系统就很灵活了。可以自定义所有审批流、命令控制、结构设计流程等等,终极目标。


整个基本都是参考阿里云数据库管理平台(为此还买了服务试用),希望展示出来的这些交互流程能帮助到您。


本篇完。

文章转载自运维那点事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论