使用全局唯一id生成用户id的解决方案 在面对ToC场景的时候,由于用户基数大,所以对于我们来说,在系统设计阶段会有专门针对用户id的相关设计。此时我们可能会考虑的场景如下:1、系统是否需要做大还是仅满足小众场景2、用户的并发是否高3、系统中业务对应是... Rae /java /2024-03-14 /0 评论 /98 阅读
后端编码规范系列(十八)代码格式规范化,避免团队代码风格混乱 在日常开发过程中,大家使用的开发IDE工具可能都不一样,有的人使用eclipse,有的人使用idea,同时由于编写代码风格不一致,所以当出现codeview的时候我们经常会重新格式化代码风格。如果在重新格式化代码风格... Rae /java /2024-03-13 /0 评论 /126 阅读
【分享】10个经典案例,聊聊如何优化慢 SQL 前言在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多 SQL 语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的 SQL 就是整个系统性能的瓶颈。SQL 优... Rae /mysql学习 /2024-03-08 /0 评论 /170 阅读
后端编码规范系列(十七)Redis 使用规范 这里我们想到哪介绍到哪,主要是用于总结的,对于团队内部来说,根据实际的情况来整理规范即可。这里 Redis 使用规范的话,因为内容不多,我们直接写一个合集集合,下面开始:1)key命名规范对于 redis 的 key... Rae /java /2024-03-07 /0 评论 /152 阅读
后端编码规范系列(十六)jar 包启动配置规范 上文我们介绍 sql 打印的时候提到是由于之前线上发生了 oom 相关的异常。所以对于线上的 jvm 启动的时候,我们是强制要求配置相关jvm 启动参数的。核心参数有:-Xms8g-Xmx8g-Xss1m... Rae /java /2024-03-07 /0 评论 /151 阅读
后端编码规范系列(十五)开发环境/测试环境强制打印 sql 这里的要求也是我们在项目团队开发过程中逐步完善的,这是为什么呢?这主要是来源于一次线上出现的问题,也就是有一条 sql 使用 in 查询的时候传值太多了,导致当时一条 sql 有好几十 M,然后就发生了内存OOM 的... Rae /java /2024-03-07 /0 评论 /155 阅读
后端编码规范系列(十四)MQ幂等规范 在日常的开发过程中我们还经常会涉及到使用 MQ 作为消息中间件的形式来进行异步任务。对于 mq 来说,不管是哪种 mq 都可能会涉及到 消息重复接收的场景。所以我们在使用消费者的时候,一定要注意消息接收重复的场景。备... Rae /java /2024-03-07 /0 评论 /105 阅读
后端编码规范系列(十三)参数校验之 length 校验 在前面的参数校验相关的文章中介绍过使用注解的方式进行参数校验,在这里再补充一个很重要的部分就是数据字段length 校验。在开发的时候,我们经常会涉及到吧文本存储到数据库的表中,每一个表对应的都有字段长度的限制,例如... Rae /java /2024-03-07 /0 评论 /138 阅读
后端编码规范系列(十二) 日志记录打印 上文《后端编码规范系列(十) 链路日志打印》我们提到了全链路日志打印。日志在我们日常开发过程中是离不开的。所以我们在开发中需要定义如何去打日志。在我们的规范中,我们对于日志打印的输出位置有如下要求:1、所有的web&... Rae /java /2024-03-06 /0 评论 /114 阅读
后端编码规范系列(十一) 升级 linux 内核 咱们把升级 linux 内核的事情放在了后端编码规范系统里面,主要是因为之前确实踩过坑,就是现实服务器出现假死。然后使劲排查的时候发现 jvm 直接假死了,从而导致服务出现假死。所以这块我们也算是和后端编码有关了。目... Rae /java /2024-03-06 /0 评论 /135 阅读