前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL自动化上线的初步实现

SQL自动化上线的初步实现

作者头像
jeanron100
发布2018-12-29 14:47:12
6050
发布2018-12-29 14:47:12
举报

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
即时通信 IM
即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、关系链、消息漫游、群组管理、资料管理、直播弹幕和内容审核等能力。适用于直播互动、电商带货、客服咨询、社交沟通、在线课程、企业办公、互动游戏、医疗健康等场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档