
SpringBoot实战
SpringBoot已成为目前Java领域的王者;本人从2017年开始使用SpringBoot,在这两年过程中搭建十多个生产级项目;在使用过程中遇到很多坑,记录成系列文章供大家参考;https://github.com/dangnianchuntian/springboot
当年的春天
目前就职于阿里巴巴,六年大型互联网后端(Java)研发经验,坐标北京;擅长微服务和中间件。
展开
-
SpringBoot实战(十八):签到奖励实现方案
前言最近在做社交业务,用户进入APP后有签到功能,签到成功后获取相应的奖励:项目状况:前期尝试业务阶段;特点:快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营用户签到:用户在每次启动时查询签到记录(规则:连续7日签到从0开始,签到过程中有断签从0开始)如果今日未签到则提示用户可以进行签到用户签到获取相应的奖励提到签到,脑海中首先浮现特点:需要记录每位用户每天的签到情况查询时根据规则进行签到记录情况需求&流程设计&技术实现方案需求原创 2020-08-30 15:01:29 · 6729 阅读 · 1 评论 -
SpringBoot实战(十七):Redis Pipeline 轻松实现百倍性能提升(续)
Spring Boot实战:Redis批量操作轻松实现百倍性能提升前言最近在做业务的时候,需要批量操作Redis,虽然Redis的速度非常快,但是for循环操作Redis还是会有问题,在之前的基础上又对批量操作Redis进行了汇总;批量操作Redis:批量Set批量Get批量Set且设置过期时间批量Delete批量操作效果&技术实现方案之前本地测试操作100个Key值,批量操作是单个操作的快122倍(《SpringBoot实战(六):Redis Pipeline 轻松实原创 2020-08-30 14:20:09 · 5043 阅读 · 5 评论 -
Spring Boot实战分页查询附近的人: Redis+GeoHash+Lua
前言最近在做社交的业务,用户进入首页后需要查询附近的人;项目状况:前期尝试业务阶段;特点:快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营收集用户的经纬度:用户在每次启动时将当前的地理位置(经度,维度)上报给后台提到附近的人,脑海中首先浮现特点:需要记录每位用户的经纬度查询当前用户附近的人,搜索在N公里内用户架构设计时序图技术实现方案SpringBootRedis(version>=3.2)Redis原生命令实现存入用原创 2020-08-09 18:34:58 · 3778 阅读 · 12 评论 -
Spring Boot实战解决高并发数据入库: Redis 缓存+MySQL 批量入库
前言最近在做阅读类的业务,需要记录用户的PV,UV;项目状况:前期尝试业务阶段;特点:快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营收集用户的原始数据,三要素:谁在什么时间阅读哪篇文章提到PV,UV脑海中首先浮现特点:需要考虑性能(每个客户每打开一篇文章进行记录)允许数据有较小误差(少部分数据丢失)架构设计架构图:时序图记录基础数据MySQL表结构CREATE TABLE `zh_article_count` ( `id`原创 2020-08-08 14:14:39 · 9114 阅读 · 11 评论 -
SpringBoot实战(十六):集成Skywalking调用链监控系统
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 Skywalking做为生产级的调用链监控工具,不仅提供了丰富的监控系统,而且通过字节码拦截形式集成系统,对系统没有任何侵入性;最近研究一下调用链项目,在此与大家共享;【集成调用链】 一、Skywalking的github项目地址: ...原创 2019-10-24 10:40:44 · 23097 阅读 · 4 评论 -
SpringBoot实战(十三):Spring Boot Admin 动态修改日志级别
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 之前关于线上输出日志一直有个困惑:如何可以动态调整的日志级别,来保证系统在正常运行时性能同时又能在出现问题时打印详细的信息来快速定位问题;最近研究一下Spring Boot Admin中动态日志级别调整,并集成项目中,在此与大家共享;【动态修改日志级别】 ...原创 2019-09-24 14:53:31 · 4578 阅读 · 6 评论 -
SpringBoot实战(十二):集成 Spring Boot Admin 监控
【前言】 程序开发完实现相应的功能只是一个部分,如何让系统在线上运行更好创造更高的价值是另外一个部分;监控是一个生产级项目避不可少重要组成部分;最近研究一下针对SpringBoot的监控项目---Spring Boot Admin,并集成项目中,在此与大家共享;【Sprin...原创 2019-09-24 13:29:56 · 4022 阅读 · 5 评论 -
SpringBoot实战(十一):MultipartException: Could not parse multipart servlet request
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 有个在线上跑了一段时间的上传文件的程序报错,查了些资料,最终通过设置上传文件的临时路径解决此问题,在此与大家共享。【问题解决之路】 一、报错信息 org.springframework.web.multipart.Multi...原创 2019-07-01 22:38:22 · 5016 阅读 · 1 评论 -
SpringBoot实战(十):统一异常处理
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 处理好异常对系统有很好的保护作用同时会大大提高用户的体验,对异常统一处理是一个非常实用的技巧,接下来介绍一下如何在系统中对异常进行统一处理;【统一异常处理】 一、未加统一异常处理时 启动程序,并访问http://...原创 2019-06-21 21:53:19 · 848 阅读 · 0 评论 -
SpringBoot实战(九):标准化json返回值
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 前后端分离是现在系统开发主流模式,上篇博文《SpringBoot集成Swagger》介绍了利器Swagger;这篇接着定义返回Json格式的规范;无规矩,不成方圆;有了好的规范前后端的开发效率将大大提高;【返回Json结果规范化】 一、规范化的...原创 2019-06-19 21:18:50 · 2259 阅读 · 2 评论 -
SpringBoot实战(八):集成Swagger
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 前后端分离是现在系统的主流,前端人员更多专注于前端功能,后端人员更加关注后端极大提高开发效率;一般情况下前后端由不同的开发团队进行开发;所以免不了要有一份接口文档,手写接口文档,维护接口文档团队间沟通,调试等也是需要花费一定的时间,Swagger就在一定程度上解决了以...原创 2019-06-13 22:28:26 · 772 阅读 · 0 评论 -
SpringBoot实战(七):替代if的优雅方案,提高程序扩展性
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近业务由一个国家扩展到多个国家,维护的通知平台也要进行相应的扩展;在扩展的时候应用一个技巧使得程序的扩展性大大提高;【if的优雅替代方案】 一、业务需求 在此以通知平台中短信业务中的校验手机号前缀为例;...原创 2019-06-12 20:19:01 · 1802 阅读 · 0 评论 -
SpringBoot实战(五):配置健康检查与监控
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 众所周知,系统预警是一件十分重要的事情,系统一旦出现宕机很有可能许多真金白银就进去了;做好系统的监控预警是一件十分有必要的事情;接下来分享一下SpringBoot自带的健康检查与监控的配置。【配置】 一、说明 ...原创 2019-04-07 15:54:24 · 8562 阅读 · 0 评论 -
SpringBoot实战(二):SpringMvc接收xml请求
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 最近在对接一个第三方系统,需要接收第三方系统的回调,而且格式为XML形式,之前自己一般接收的参数是Json形式,于是乎做个实验验证一下使用SpringMvc接收xml参数请求;【实战】 一、Pom中引入相应的Jar包<depende...原创 2019-01-08 21:09:13 · 9460 阅读 · 4 评论 -
SpringBoot实战(一):使用Lombok简化你的代码
【前言】 Lombok是一个十分不错的工程,项目中引入它后可以使用注解来简化代码,比如最为常见的get、set、tostring等等;【如何使用】 一、项目POM中引入相应的Jar包 <dependency> <groupId>org.projectlombok</groupId> <...原创 2019-01-08 20:41:31 · 4599 阅读 · 2 评论 -
SpringBoot实战(十四):Spring Boot Admin 集成安全模块
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】 Spring Boot Admin做为生产级的监控工具,必然不能随便让人去操作以免误操作导致线上问题,所以有必要集成Security组件;Spring Boot Admin可以十分简单的集成这安全组件;已集成项目中,在此与大家共享;【集成安全模块】 ...原创 2019-09-28 09:23:15 · 2064 阅读 · 1 评论 -
SpringBoot实战(十五):Spring Boot Admin 集成告警模块
【前言】 Spring Boot Admin做为生产级的监控工具,必然自动化告警必不可少;Spring Boot Admin可以十分简单的集成告警组件;最近研究一下集成邮件告警到项目中,在此与大家共享;【集成告警模块】 一、集成告警模块(在此以邮件告警为...原创 2019-09-28 10:04:05 · 6004 阅读 · 1 评论