实战获取IP归属地的案例 目前国内各大应用几乎都有显示用户的ip归属地,包括本站也会有显示相关的ip归属地,如下图:那么这个获取归属地怎么弄呢?其实方法很简单,我们可以直接借助开源的ip归属地来使用即可。这里我们借助的工具是:http://w... Rae /java /2024-04-10 /0 评论 /100 阅读
后端编码规范系列(二十)sql上线脚本规范 每一次项目上线都可能会涉及到sql上线的步骤。但是在上线的时候执行sql也是最容易出现问题的。特别是上线的时候sql出现问题,可能会导致非常重大的灾难性事故。因此对于sq相关的规范我们的要求如下:1、每一个版本对应的... Rae /java /2024-04-10 /0 评论 /117 阅读
后端编码规范系列(十九)join查询的 本文我们继续补充编码规范。本文主要介绍的是join查询。在使用join查询的时候,我们大家都应该了解到使用小表做驱动表,大表做被驱动表。如果问的话,大家其实可能会简单的回答小表可以放在内存里面。但是这个答案对于我来说... Rae /java /2024-04-10 /0 评论 /107 阅读
【分享】Java的CPU 飙升700%优化的真实案例 最近负责的一个项目上线,运行一段时间后发现对应的进程竟然占用了700%的CPU,导致公司的物理服务器都不堪重负,频繁宕机。那么,针对这类java进程CPU飙升的问题,我们一般要怎么去定位解决呢?、采用top命令定位进... Rae /java /2024-03-26 /0 评论 /177 阅读
使用全局唯一id生成用户id的解决方案 在面对ToC场景的时候,由于用户基数大,所以对于我们来说,在系统设计阶段会有专门针对用户id的相关设计。此时我们可能会考虑的场景如下:1、系统是否需要做大还是仅满足小众场景2、用户的并发是否高3、系统中业务对应是... Rae /java /2024-03-14 /0 评论 /165 阅读
后端编码规范系列(十八)代码格式规范化,避免团队代码风格混乱 在日常开发过程中,大家使用的开发IDE工具可能都不一样,有的人使用eclipse,有的人使用idea,同时由于编写代码风格不一致,所以当出现codeview的时候我们经常会重新格式化代码风格。如果在重新格式化代码风格... Rae /java /2024-03-13 /0 评论 /185 阅读
后端编码规范系列(十七)Redis 使用规范 这里我们想到哪介绍到哪,主要是用于总结的,对于团队内部来说,根据实际的情况来整理规范即可。这里 Redis 使用规范的话,因为内容不多,我们直接写一个合集集合,下面开始:1)key命名规范对于 redis 的 key... Rae /java /2024-03-07 /0 评论 /216 阅读
后端编码规范系列(十六)jar 包启动配置规范 上文我们介绍 sql 打印的时候提到是由于之前线上发生了 oom 相关的异常。所以对于线上的 jvm 启动的时候,我们是强制要求配置相关jvm 启动参数的。核心参数有:-Xms8g-Xmx8g-Xss1m... Rae /java /2024-03-07 /0 评论 /215 阅读
后端编码规范系列(十五)开发环境/测试环境强制打印 sql 这里的要求也是我们在项目团队开发过程中逐步完善的,这是为什么呢?这主要是来源于一次线上出现的问题,也就是有一条 sql 使用 in 查询的时候传值太多了,导致当时一条 sql 有好几十 M,然后就发生了内存OOM 的... Rae /java /2024-03-07 /0 评论 /213 阅读
后端编码规范系列(十四)MQ幂等规范 在日常的开发过程中我们还经常会涉及到使用 MQ 作为消息中间件的形式来进行异步任务。对于 mq 来说,不管是哪种 mq 都可能会涉及到 消息重复接收的场景。所以我们在使用消费者的时候,一定要注意消息接收重复的场景。备... Rae /java /2024-03-07 /0 评论 /161 阅读