文章 557
评论 5
浏览 215852
支付请求幂等性设计:从原理到落地,杜绝重复扣款

支付请求幂等性设计:从原理到落地,杜绝重复扣款

用户点击支付按钮后,页面卡住了,用户以为没成功,又点了好几次,结果被重复扣款?或者支付接口因为网络超时,前端重试,导致用户被扣了多次款?再或者系统异常重试,导致重复处理? 这些都是支付幂等性没处理好的典型例子。在支付场景中,幂等性是必须保证的,因为它直接关系到用户的钱包和公司的信誉。今天我们就来聊聊如何设计一个可靠的支付幂等性方案,彻底杜绝重复扣款

SpringBoot + SkyWalking + Prometheus:微服务全链路监控与性能压测闭环方案

SpringBoot + SkyWalking + Prometheus:微服务全链路监控与性能压测闭环方案

线上系统突然变慢,但不知道是哪个服务出了问题?用户投诉接口响应时间长,但排查起来像大海捞针?服务之间调用关系复杂,出了问题根本不知道从哪开始查? 这就是微服务架构下的监控难题。传统的单体应用监控方式已经无法满足微服务架构的需求。今天我们就来聊聊如何用SpringBoot + SkyWalking + Prometheus构建一个完整的微服务监控体系,实现全链路追踪和性能压测闭环。

SpringBoot + AbstractRoutingDataSource实现动态切换数据源,这样做才更优雅!

SpringBoot + AbstractRoutingDataSource实现动态切换数据源,这样做才更优雅!

系统刚开始只有一个数据库,后来业务发展了,需要分库分表?或者要连接多个不同的数据库,比如主库、从库、日志库?再或者要做多租户系统,每个租户独立数据库?这时候,动态切换数据源就成了必须掌握的技能。今天我们就来聊聊如何在SpringBoot中优雅地实现动态数据源切换,让多数据源管理变得简单高效。

SpringBoot + FFmpeg + Redis:视频转码、截图、水印异步处理平台搭建

SpringBoot + FFmpeg + Redis:视频转码、截图、水印异步处理平台搭建

用户上传了一个大视频,你直接在当前线程里处理,结果导致接口响应超时,用户体验极差?或者视频处理过程中服务器CPU飙升,影响了其他服务的正常运行?再或者多个视频同时处理,直接把服务器搞崩了?视频处理是典型的CPU密集型任务,如果处理不当,很容易成为系统的性能瓶颈。今天我们就来聊聊如何用SpringBoot + FFmpeg + Redis搭建一个高性能的视频异步处理平台,让视频处理不再成为系统的负担。

Spring Boot + MyBatis-Plus数据追踪插件:实现高效数据变更记录与管理的利器

Spring Boot + MyBatis-Plus数据追踪插件:实现高效数据变更记录与管理的利器

在现代企业级应用开发中,数据安全和审计追踪是至关重要的环节。无论是金融系统、电商平台,还是管理系统,我们都需要对数据的变更进行详细记录,以便后续的审计、回滚或问题排查。今天,我们就来聊聊如何使用Spring Boot和MyBatis-Plus开发一个高效的数据追踪插件,实现对数据变更的自动记录与管理。

SpringBoot + MinIO + 阿里云OSS 文件存储系统示例项目

SpringBoot + MinIO + 阿里云OSS 文件存储系统示例项目

基于SpringBoot的文件存储系统,支持MinIO和阿里云OSS两种存储后端,提供分片上传、断点续传、秒传等高级功能。

SpringBoot + MinIO + 阿里云 OSS:文件上传下载、分片断点续传全链路方案

SpringBoot + MinIO + 阿里云 OSS:文件上传下载、分片断点续传全链路方案

文件存储在系统架构中从最初的小文件直接存数据库,到后来的分布式文件系统,再到如今的云原生对象存储,每一步演进都伴随着业务规模的扩大和技术需求的升级。今天,我就来和大家分享一套在生产环境中经过验证的文件存储全链路解决方案: SpringBoot + MinIO + 阿里云OSS ,涵盖文件上传下载、分片上传、断点续传等核心功能,让你的系统在面对大文件处理时游刃有余!

SpringBoot + Spring Security + RBAC:企业级权限模型设计与动态菜单渲染实战

SpringBoot + Spring Security + RBAC:企业级权限模型设计与动态菜单渲染实战

如何用SpringBoot + Spring Security + RBAC模型,设计一个灵活、可扩展的企业级权限系统,并实现动态菜单渲染,让权限管理变得简单高效。

SpringBoot + Easy Rules 规则引擎实战指南:用实战诠释轻量之美

SpringBoot + Easy Rules 规则引擎实战指南:用实战诠释轻量之美

电商系统中,促销规则越来越复杂:满减、折扣、优惠券、会员等级、时间段、商品分类等等,各种规则组合在一起,代码变得越来越复杂,维护起来越来越困难。每次产品经理提一个新的促销规则,开发人员就要改代码、测试、上线,整个流程下来可能需要好几天。这时候,规则引擎就派上用场了。今天我们就来聊聊Easy Rules这个轻量级规则引擎,看看它如何用实战诠释轻量之美。

SpringBoot + JWT + Sa-Token:认证鉴权双框架对比,安全登录与权限控制最佳实践

SpringBoot + JWT + Sa-Token:认证鉴权双框架对比,安全登录与权限控制最佳实践

传统的Session认证方式虽然简单,但在分布式系统中却存在诸多问题:Session共享、服务器内存占用、扩展性差等。这时候,我们就需要更现代、更灵活的认证鉴权方案了。今天,我们就来聊聊两种主流的认证鉴权方案:JWT和Sa-Token,从资深后端工程师的角度分析它们的优缺点和最佳实践。

SpringBoot 实现QPS监控:别等系统宕机了才知道加监控

SpringBoot 实现QPS监控:别等系统宕机了才知道加监控

系统运行得好好的,突然收到告警,CPU 100%,接口大量超时,用户疯狂投诉。你赶紧打开监控面板一看,QPS已经飙升到平时的10倍,而你之前根本没关注过这个指标。等你手忙脚乱地排查问题、扩容服务时,系统已经宕机了,这种场景在我们开发过程中并不少见。很多团队在系统上线初期,往往只关注功能实现,忽略了监控体系建设,直到系统真正出问题时才后悔莫及。今天,我们就来聊聊如何用SpringBoot实现QPS监控,让系统运行状态尽在掌握,别等系统宕机了才知道加监控的重要性。

SpringBoot + CompletableFuture + 线程池:高并发异步编排,接口响应提速 80%+

SpringBoot + CompletableFuture + 线程池:高并发异步编排,接口响应提速 80%+

一个看似简单的用户详情接口,需要查询用户基本信息、订单列表、积分余额、优惠券信息等多个数据源。在传统的同步处理方式下,这些查询是串行执行的,总耗时等于所有查询时间之和。如果每个查询平均耗时200ms,4个查询下来就是800ms,用户明显能感受到卡顿。今天,我们就来聊聊如何用SpringBoot + CompletableFuture + 线程池这套组合拳,实现高并发异步编排,让接口响应速度提升80%以上。

告别Redis瓶颈:Caffeine本地缓存优化实战指南

告别Redis瓶颈:Caffeine本地缓存优化实战指南

Redis作为分布式缓存的明星选手,确实为我们的系统提供了强大的性能支持。但在某些场景下,Redis反而成了性能的瓶颈: 网络延迟:每次访问Redis都需要经过网络请求,即使在内网,延迟也在1-2ms左右 序列化开销:对象需要序列化和反序列化,增加了CPU开销 连接池限制:Redis连接池有最大连接数限制,高并发下容易成为瓶颈 带宽限制:大量缓存访问可能占用网络带宽 今天,我们就来聊聊如何用Caffeine这个本地缓存神器,来解决Redis的性能瓶颈问题。

SpringBoot + XXL-JOB + Quartz:任务调度双引擎选型与高可用调度平台搭建

SpringBoot + XXL-JOB + Quartz:任务调度双引擎选型与高可用调度平台搭建

在早期的小项目中,我们可能会直接用Timer、ScheduledExecutorService这些JDK自带的定时器。但随着业务越来越复杂,用户量越来越大,你会发现这些简单的定时器根本扛不住: 单点故障:一旦服务器挂了,所有定时任务都停摆 无法监控:任务执行成功还是失败,你根本不知道 扩展困难:任务多了之后,代码混乱得像一锅粥 容错性差:任务执行失败了,没有重试机制 分布式的挑战:在微服务架构下,任务执行节点分散,难以统一管理 这时候,你就需要一个专业的任务调度系统了。今天咱们就来聊聊两个业界主流的调度框架:XXL-JOB和Quartz,以及如何搭建一个高可用的调度平台。

从入门到实践:玩转分布式链路追踪利器SkyWalking

从入门到实践:玩转分布式链路追踪利器SkyWalking

相信很多后端同学都遇到过类似的场景:用户投诉响应慢,但查看单个服务日志都正常,问题到底出在哪?在复杂的微服务架构下,一次用户请求可能经过十几个甚至几十个服务,传统的监控手段已经无法满足需求。今天咱们就聊聊,如何用Apache SkyWalking这个分布式链路追踪利器,让你的微服务架构变得"透明"!

服务端开发博客:后端架构、高并发、性能优化与微服务实战教程