小猿日记 - 程序猿的日常日记(4)
【摘要】 口水记
又过了一个周末,早晨自然又是踩点。请叫我踩点小猿。
上午都在忙着优化那日增几百万的数据库表了。
通过一些会议讨论,还是需要改动表结构才能进行分库分表,否则无法进行下去。因为通过什么字段的查询语句都有,那么这怎么分嘛~分了之后,未命中分表字段的查询那岂不是更坑。
所以新增了一个字段,该字段在所有的查询中,理论上都需要用到的,可惜的是,之前数据库的设计,未存...
口水记
又过了一个周末,早晨自然又是踩点。请叫我踩点小猿。
上午都在忙着优化那日增几百万的数据库表了。
通过一些会议讨论,还是需要改动表结构才能进行分库分表,否则无法进行下去。因为通过什么字段的查询语句都有,那么这怎么分嘛~分了之后,未命中分表字段的查询那岂不是更坑。
所以新增了一个字段,该字段在所有的查询中,理论上都需要用到的,可惜的是,之前数据库的设计,未存储该字段。
现在要做的就是如下几步。(必须要做,不做的话,过些天就有宕机危险)
- 梳理出所有的查询sql
- 增加新字段作为查询条件
- 修改dao层的原有所有接口,增加参数
- 内部接口梳理出来,单独进行优化
- 对于原有API接口,新增接口,原有接口第一版本不做改动,做删除标识
- 通过调用关系,找到所有相关对外暴露的API接口
- 通过zk找到所有的消费者应用
- 找到相关应用负责人,通知升级版本,以及告知原接口废弃时间点
- 在废弃时间点后,项目版本会再升级,对于标识删除的接口实现,直接进行抛异常处理
- 所有插入语句的接口,增加新增字段的值的插入
- 旧数据订正脚本准备
以上就是填坑的全部步骤,其中测试无法覆盖的风险、遗漏应用或者相关负责人未及时更改的风险极有可能会发生。
做到项目逻辑不变动,上游应用通知到位。及时通知,及时跟进。
由于改动的结构比较底层,改动的地方与接口非常多,涉及接口几十个,相关上游项目也有几十个,要通知的人
文章来源: chenhx.blog.csdn.net,作者:谙忆,版权归原作者所有,如需转载,请联系作者。
原文链接:chenhx.blog.csdn.net/article/details/106203557
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)