SQL自动化上线的初步实现

作者 : 开心源码 本文共820个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共184人阅读

这是学习笔记的第 1836篇文章

SQL自动化上线的工作做了初步的设计,目标是希望对于业务同学使用是一个相对平滑的过程,把目前工单需求中的少量瓶颈点做到明显改进。

首先对自动化上线,不是所有的场景都需要支持,也不是所有的变更都需要做到自动化上线,而是选取一个对环境来说相对稳固的场景,比方create table这类需求,目前的评价标准是SQL质量打分在80分及以上时,create语句我们就需要实现自动化上线。

这是一个两头改进的方式,首先是审批机制,这里的审批会采用极简的方式,审批不会再分发到各级主管审批,随着审批节点的添加,这个审批环节和审批周期会大大拉长,对于业务响应来说,其实是需要优化的。 这里的一种折中方式就是采用知晓,即指定的自动化上线工单在满足提交后,会抄送各级领导,一路绿灯走下来。

执行的部分,由于涉及多个系统的交互,这里会开始解析相应的SQL语句,比方业务方一次性提交了5条SQL,那么我们就需要在后台开启循环模式,一一应用对象变更的操作。 这个过程的实现方式需要借助任务调度来解决,通过异步任务接入的方式快速响应前台需求,实现平滑的对接。

而SQL执行的情况究竟怎样样,我们可以把结果持久化,通过日志的方式记录下来,能否成功,假如失败,失败的日志也需要记录下来,方便人工介入管理。

对于失败的解决是关键的一环,在执行失败的时候,需要及时介入,通过提供的现有日志做出分析和判断,在人工介入后,可以手工确认完成,而假如一次性成功,则直接通过即时通讯方式提醒业务方。

总体下来假如一条SQL的质量较高,而且满足自动化上线的基本条件,则最快的情况下,上线SQL只要要1分钟搞定。

整个代码的实现,最开始想容错解决的步骤是比较复杂的,需要考虑一系列的解决策略,代码开发肯定很耗时,结果在睡觉前码了不到40分钟就基本搞定了基本流程,在满足基本需求的前提下,能够快速迭代和响应,在满足基本需求的情况下,逐渐打磨产品迭代是一种相对稳健而高效的实现方式。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » SQL自动化上线的初步实现

发表回复