口水记

又过了一个周末,早晨自然又是踩点。请叫我踩点小猿。

上午都在忙着优化那日增几百万的数据库表了。

通过一些会议讨论,还是需要改动表结构才能进行分库分表,否则无法进行下去。因为通过什么字段的查询语句都有,那么这怎么分嘛~分了之后,未命中分表字段的查询那岂不是更坑。

所以新增了一个字段,该字段在所有的查询中,理论上都需要用到的,可惜的是,之前数据库的设计,未存储该字段。

现在要做的就是如下几步。(必须要做,不做的话,过些天就有宕机危险)

  • 梳理出所有的查询sql
  • 增加新字段作为查询条件
  • 修改dao层的原有所有接口,增加参数
  • 内部接口梳理出来,单独进行优化
  • 对于原有API接口,新增接口,原有接口第一版本不做改动,做删除标识
  • 通过调用关系,找到所有相关对外暴露的API接口
  • 通过zk找到所有的消费者应用
  • 找到相关应用负责人,通知升级版本,以及告知原接口废弃时间点
  • 在废弃时间点后,项目版本会再升级,对于标识删除的接口实现,直接进行抛异常处理
  • 所有插入语句的接口,增加新增字段的值的插入
  • 旧数据订正脚本准备

以上就是填坑的全部步骤,其中测试无法覆盖的风险、遗漏应用或者相关负责人未及时更改的风险极有可能会发生。

做到项目逻辑不变动,上游应用通知到位。及时通知,及时跟进。

由于改动的结构比较底层,改动的地方与接口非常多,涉及接口几十个,相关上游项目也有几十个,要通知的人

小猿日记 - 程序猿的日常日记(4)相关推荐

  1. 虚继承是什么意思_程序猿是什么意思?程序员为什么叫程序猿?程序猿笑话段子-360常识网...

    程序员不是你们眼中的程序猿.程序猿是一种非常特殊的.可以从事程序开发.维护的动物.一般分为程序设计猿和程序编码猿,但两者的界限并不非常清楚,都可以进行开发.维护工作,特别是在中国,而且最重要的一点,二 ...

  2. 试读《你好哇,程序猿——漫话程序猿面试求职、升职加薪、创业与生活》

    感谢安老师又为我们写了一本好书<你好哇,程序猿--漫话程序猿面试求职.升职加薪.创业与生活>,作为一个干了十余年程序猿的我,在看这本书时不免有些话要说一说. 你是一个程序猿? 是的,准确的 ...

  3. 小猿日记 - 程序猿的日常日记(3)

    口水记 程序猿的周末,还能是怎么样. 为了回馈996的福报,项目的紧急,我去加班(上班)了. 周六这天气,晴空万里,白云飘飘. 我都是踩点来公司的,加班(上班)的同事基本都在工位上了,项目组有10来人 ...

  4. SpringBoot拦截器_初级程序猿→中级程序猿必经之路_一蓑烟雨任平生

    文章目录 前言 一.拦截器原理 二.拦截器的快速使用步骤 1.定义拦截器 2.配置拦截器 三 .解决问题 1.解决静态资源被拦截问题 2.拦截器使用实例 2.取消拦截操作(自定义注解) 总结 前言 刚 ...

  5. 小猿日记 - 程序猿的日常日记(1)

    口水记 上周看了天气预报,发现下周都有雨,便把伞放在了公司. 谁知道这老天爷,今天大清早的就下雨了,卡在了我起床的点. 不过也是奇怪,在我想要请假前几分钟,雨便停了.也打消了我上午请假的念头. 匆忙来 ...

  6. arraylist从大到小排序_程序猿面试宝典:你该知道的数组排序算法

    通常情况下,我们对数组的操作远远不止遍历判断大小或者判断奇偶数这么简单.比如,当我们需要求一个数组中所有元素的平均值时,操作很简单,只需要去遍历这个数组,并将其内部所有元素中存储的内容进行求和,最后用 ...

  7. 普通程序猿 文艺程序猿 2B程序猿

    求2的32次方 普通程序员 Java code ? 1 System.out.println(Math.pow(2, 32)); 文艺程序员 Java code ? 1 System.out.prin ...

  8. 程序猿段子_【新年新气象】今年,能为程序员男友做点什么?

    众所周知,新的一年的开始送礼及情侣秀恩爱的高峰期! 下面就整理给大家看看,送程序员送啥好? 首先,送礼要送的好,必须要合心意对不对,网络上关于程序员的段子真的太多了! 程序猿 生活纯粹 个性固执 偏好 ...

  9. 三猿开泰,走进普通、文艺、2B程序猿的逗比世界

    开场白:如果人生是一段自我编写的程序,那么程序猿的青春就是其中意味深长的代码.或是简单分解成彼此独立的字符:或是华丽的注释:或是复杂拼凑成一连串的语句.程序猿尝试着不断地调试,无论编译的结果如何,过程 ...

最新文章

  1. Java IDEA import sun.reflect.ConstructorAccessor报错
  2. JavaScript武力值飙升!用TensorFlow.js轻松实现在浏览器里搞深度学习......
  3. 百度笔试题:malloc/free与new/delete的区别
  4. 论文浅尝 | Distant Supervision for Relation Extraction
  5. 攻防世界-Web_php_include
  6. php阅读器开发,微信小程序阅读器的简单实例开发
  7. java失败javac成功_JAVA SE JDK-10安装、配置(解决java成功,javac失败问题)
  8. 国士无双:卖掉美国房子,回国创办姚班,他只为培养一流的程序员!
  9. Wide Deep 模型详解
  10. 新品上市,影音先锋投影仪大眼橙H3,会带来怎样的观影体验
  11. 酷狗歌曲缓存kgtemp转mp3工具
  12. RK3066移动鼠标,有时会卡顿一会儿
  13. Android 9.0系统源码_SystemUI(六)滑动锁屏的创建
  14. SAP 下载SMW0模板文件并附加数据导入到Excel示例
  15. 【Ubuntu】如何在Ubuntu系统上设置好看的动态壁纸(Komorebi)
  16. 求1到50中7的倍数之和
  17. centos高清分辨率
  18. ERROR: cannot launch node of type [map_server/map_server]: map_server等
  19. SAP模块介绍及概念介绍
  20. 【游戏编程扯淡精粹】调试方法论

热门文章

  1. 马斯克在 Clubhouse 上「开房」,讲创业、公司进展,还当了回记者
  2. Solaris下网卡绑定多个IP
  3. 阿里巴巴的业务范畴/文化和价值观
  4. 用Java编写程序实现从键盘读入学生成绩,找出最高分,并输出学生成绩和学生的等级。
  5. Redis主从复制架构初步探索 http://www.sxt.cn/info-1750-u-324.html#SXT_h2_11
  6. java eclipse导入工程文件_如何在Eclipse软件中导入Java工程文件
  7. 深度学习【注意力机制(Attention)原理和实现】
  8. 在Linux上搭建一个自己的网站
  9. android通知小图标灰色,android – 大型通知图标旁边的灰色圆圈?
  10. matlab中ode指令,matlab中ode5函数编写.doc