至2023春以来开发问题阶段性记录总结Part2
阿昌 Java小菜鸡

至2023春以来开发问题阶段性记录总结Part2

Hi,我是阿昌,记录一下针对2022秋至2023春以来的一些开发问题的记录和一些注意点,菜鸡🐔见笑了哈哈。+2

1、当问题排查不出结果时,多打印日志

通过日志可以知道程序走到哪里了,且当时的内存变量状态如何

2、查看是否能够增加请求入参来减少增加接口

减少对外暴露接口,可降低系统的不稳定性。减少系统可能出现的风险,如Excel导入,可通过增加一个enum来支持不同的类型导入

3、数据库ddl更新操作动态set时,评估需要指定set的字段值

当update语句只更新某一个字段时,写sql入参动态判断Null,来减少sql执行的成本。

4、处理缓存服务时,应该让一个服务处理一个服务的缓存信息,对外暴露dubbo服务查询缓存信息

缓存服务应该是只针对一个服务对应的缓存服务,不然某业务服务更换缓存服务,会出现缓存业务失效的问题

5、Comparison method violates its general contract问题

参考链接:https://blog.csdn.net/samur2/article/details/109231250

6、分表添加字段遗漏问题

项目初期可能有一些分表sql添加会写漏,操作冷门业务时,操作sql导致报不存在字段的sql错误

7、服务顺序发布、web可同时发布

当web系统和服务系统同时发布时,发布的顺序为 服务系统 —> web系统

8、optimze 操作会导致锁表,请在半夜执行

9、sql连表查询时,应注意是否使用上了索引

在重要的连表字段中,应强制添加索引

10、当异步触发任务的时候,考虑服务发布重启后,是否会丢失任务

JVM级别的异步任务可能会存在服务重启后丢失的情况,如果想要任务不丢失,请提升使用中间件【如Mq,Mysql任务表等】

 请作者喝咖啡