- 博客(464)
- 资源 (7)
- 问答 (4)
- 收藏
- 关注
原创 SpringCloud + Elasticsearch + Redis + Kafka:电商平台实时商品搜索与个性化推荐实战
通过SpringCloud + Elasticsearch + Redis + Kafka的技术组合,我们可以构建一个功能强大、性能优异的电商搜索推荐系统。这不仅能提升用户体验,还能显著提高平台的转化率。在实际项目中,建议根据具体业务需求调整搜索算法和推荐策略,并建立完善的性能监控体系。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-03-10 13:08:56
362
原创 Spring Cloud Gateway + OAuth2.1 + PKCE:安全对接移动端 App,防止 Token 泄露
通过Spring Cloud Gateway + OAuth2.1 + PKCE的技术组合,我们可以构建一个安全可靠的移动端认证方案。这不仅能保护用户数据安全,还能为移动端App提供流畅的认证体验。在实际项目中,建议根据具体业务需求调整配置参数,并建立完善的安全监控机制。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-03-08 12:04:03
410
原创 SpringBoot + AOP + 注解 实现自动数据变更追踪实战
*** 数据变更追踪注解*//*** 业务类型*//*** 业务ID字段名*//*** 实体类类型*/Class<?/*** 是否记录详细变更内容*//*** 忽略的字段列表*/通过SpringBoot + AOP + 注解的技术组合,我们可以轻松实现自动化的数据变更追踪。这种方式不仅减少了代码冗余,还提高了系统的可维护性和可追溯性。在实际项目中,建议根据具体业务需求调整注解参数和切面逻辑,并考虑性能优化策略。服务端技术精选。
2026-03-06 11:27:16
290
原创 SpringBoot + 消息积压监控 + 自动扩容:RabbitMQ 消费延迟告警与弹性伸缩方案
通过SpringBoot + 消息积压监控 + 自动扩容的技术组合,我们可以构建一个智能化的RabbitMQ弹性伸缩方案。这不仅能提升系统稳定性,还能优化资源利用率。在实际项目中,建议根据具体业务场景调整监控参数和扩容策略,并建立完善的测试和验证机制。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-03-04 13:52:49
440
原创 线上问题定位神器:Arthas实战,告别重启服务器的烦恼
Arthas是阿里巴巴开源的Java诊断工具,被誉为"Java诊断利器"。它能让你在不重启、不修改代码的情况下,实时查看和诊断线上Java应用的问题。Arthas作为Java线上问题诊断的神器,能让你在不重启应用的情况下快速定位和解决问题。熟练掌握Arthas,不仅能提升问题解决效率,还能让你在面对线上问题时更加从容。在实际工作中,建议将Arthas作为日常运维工具之一,定期学习和实践各种命令,做到"平时多练兵,战时少慌神"。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-03-03 13:21:14
712
原创 SpringBoot + MQTT + EMQX:物联网设备上行数据实时接入与指令下发平台
通过SpringBoot + MQTT + EMQX的技术组合,我们可以构建一个高效、可靠的物联网数据接入平台。这不仅能解决大量设备连接的问题,还能实现实时数据传输和指令下发。在实际项目中,建议根据具体业务需求进行定制化开发,并充分考虑安全性、性能和可扩展性等因素。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-02-24 13:33:42
619
原创 阿里TTL+Log4j2+MDC实现轻量级日志链路追踪:告别日志大海捞针的烦恼
通过阿里TTL + Log4j2 + MDC的技术组合,我们可以构建一个轻量级但功能强大的日志链路追踪系统。这不仅能大幅提升问题排查效率,还能帮助我们更好地理解系统的运行状态。在实际项目中,建议根据具体需求进行定制化开发,并建立相应的日志规范和分析流程。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-02-23 15:24:11
808
原创 SpringBoot + WebSocket + STOMP:支持群聊、@提醒、消息回执的企业 IM 系统实战
Data// 单聊接收者// 群聊房间ID// 消息类型:TEXT, IMAGE, FILE等// 消息状态:SENT, DELIVERED, READ// @提醒的用户列表// 回复的消息ID@Data通过SpringBoot + WebSocket + STOMP的技术组合,我们可以构建一个功能完整、性能优异的企业IM系统。这不仅能提升团队协作效率,还能为用户提供良好的沟通体验。
2026-02-20 23:25:42
533
原创 SpringBoot + RocketMQ + 事务状态机:订单超时未支付自动取消,消息 100% 可靠触发
精确时间控制:RocketMQ延时消息确保在指定时间触发100%消息可靠性:通过生产者、存储、消费者三重保障状态一致性:事务状态机确保订单状态正确转换高并发处理:支持大促期间的高并发场景可扩展性:架构设计支持业务扩展这套方案不仅解决了订单超时取消的问题,也为其他类似场景(如优惠券过期、库存锁定释放等)提供了参考模板。在实际应用中,可以根据业务需求调整延时时间、状态流转规则等配置。对于电商系统来说,订单超时取消是保障系统稳定性和用户体验的重要功能。
2026-02-15 09:32:17
879
原创 SpringBoot + Docker + Jenkins:一键构建、测试、部署流水线,DevOps 从入门到上手
在软件开发的"军备竞赛"中,交付速度已经成为企业竞争力的重要指标。传统的开发模式下,从代码提交到生产部署需要经过多个手动环节,不仅效率低下,还容易出现人为错误。今天,我将和大家分享一套完整的DevOps解决方案,通过SpringBoot + Docker + Jenkins实现一键构建、测试、部署的自动化流水线。这套方案已经在我们团队中稳定运行了2年多,将原本需要2小时的发布流程缩短到10分钟,故障恢复时间从数小时缩短到几分钟。更重要的是,它让开发人员能够专注于业务逻辑,而不用担心部署的复杂性。原文链接。
2026-02-13 14:11:38
1212
原创 SpringBoot + Low-Code + JSON 表单引擎:5 分钟配置一套审批流,告别重复 CRUD
在企业级应用开发中,审批流是一个高频需求。无论是请假申请、费用报销,还是采购审批,都需要一套完整的表单和流程系统。传统开发模式下,每个审批流都需要单独开发表单页面、验证逻辑、数据存储和流程控制,不仅耗时耗力,还容易出现重复造轮子的情况。今天,我将和大家分享一个基于SpringBoot的低代码表单引擎解决方案,通过JSON配置,实现5分钟配置一套审批流,彻底告别重复的CRUD开发。原文链接"formName": "请假申请","formTitle": "员工请假申请表","title": "员工姓名",
2026-02-12 14:12:14
748
原创 SpringBoot + Whisper + FFmpeg:语音转文字服务接入,会议记录自动生成实战
通过SpringBoot + Whisper + FFmpeg的技术组合,我们可以构建一个高效、准确的语音转文字服务。这不仅能大幅提升会议记录整理效率,还能释放人力资源去做更有价值的工作。在实际项目中,建议根据具体需求调整模型参数和处理流程,以达到最佳的准确率和性能平衡。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-02-11 13:02:03
790
原创 SpringBoot + LangChain4j + Ollama:本地大模型接入 Java 应用,智能客服快速落地
通过SpringBoot + LangChain4j + Ollama的技术组合,我们可以快速构建一个功能强大的智能客服系统。这种方式不仅降低了运营成本,还提升了用户体验。在实际项目中,建议先从小范围试点开始,逐步优化模型和业务逻辑,最终实现智能客服的全面应用。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-02-10 13:25:53
673
原创 Elasticsearch最佳生产实践:让搜索性能起飞的10个关键技巧
快照备份:定期创建索引快照到共享存储增量备份:对于大索引,考虑增量备份策略异地备份:重要数据考虑异地备份# 创建仓库# 创建快照Elasticsearch虽然功能强大,但要在生产环境稳定运行,需要我们在索引设计、资源配置、查询优化等方面下足功夫。记住,没有银弹,只有合适的技术选型和正确的实施方法。在实际项目中,建议从小规模开始,逐步扩大规模,在实践中不断优化配置。最重要的是,建立完善的监控和告警体系,做到问题早发现、早解决。
2026-02-09 13:08:06
684
原创 SpringBoot + 自定义 DSL + Groovy 脚本:构建可拖拽的业务规则配置平台
/ 示例DSLrule "VIP用户满额优惠" {whenthen@Data// DSL脚本内容// 条件列表// 动作列表// 是否启用// 执行优先级@Data// 字段名// 操作符:==,!=, >, <, contains等// 比较值// 逻辑连接符:AND, OR通过SpringBoot + 自定义DSL + Groovy脚本的技术组合,我们可以构建一个强大而灵活的业务规则配置平台。
2026-02-08 15:05:58
1165
原创 SpringBoot + Spring AI + 向量数据库:构建企业知识库智能检索,告别信息碎片化
通过SpringBoot + Spring AI + 向量数据库的技术组合,我们可以构建一个真正智能化的企业知识库系统。这不仅能大幅提升知识检索效率,还能让企业沉淀的知识资产发挥更大的价值。在这个信息爆炸的时代,如何有效管理和利用知识资产,已经成为企业竞争力的重要组成部分。希望通过今天的分享,能为大家提供一些有价值的参考。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-02-07 17:02:18
745
原创 SpringBoot接口防抖大作战,拒绝“手抖“重复提交
防抖(Debounce)是一种限制函数执行频率的技术。在Web开发中,防抖通常用于限制用户在短时间内重复提交相同请求。与幂等性不同,防抖是在请求到达服务端之前或在服务端预处理阶段阻止重复请求的执行。在指定时间窗口内,相同的操作只执行一次。接口防抖是保障系统稳定性和数据一致性的重要手段。通过SpringBoot + AOP + Redis的组合,我们可以轻松实现强大的防抖功能。
2026-02-06 13:27:47
984
原创 SpringBoot + Ollama + RAG:本地大模型 + 知识库问答系统,私有化部署智能客服
Ollama是一个轻量级框架,可以让我们在本地运行各种流行的LLM(大语言模型),比如Llama 3、Mistral等。数据安全:所有数据都在本地处理,不用担心敏感信息泄露成本控制:无需支付API调用费用,适合企业级应用响应速度:本地运行,响应更快,延迟更低可定制性:可以根据业务需求选择合适的模型通过SpringBoot + Ollama + RAG技术栈,我们可以轻松构建一个功能强大的私有化智能客服系统。这种方案不仅能够保证数据安全,还能根据业务需求灵活定制,是企业级AI应用的理想选择。
2026-02-05 13:40:10
875
原创 SpringBoot动态脱敏实战:从注解到AOP的优雅打码术
最近在做项目时遇到一个头疼的问题:业务方要求对用户敏感信息进行脱敏处理,比如手机号、身份证、邮箱等。如果手动处理,不仅代码冗余,还容易遗漏。有没有一种优雅的解决方案呢?答案是肯定的!今天就来分享一套基于SpringBoot + 注解 + AOP的动态脱敏方案,让你的敏感数据自动"戴上面具"。源码下载/*** 中文姓名脱敏(保留姓氏,其余用*代替)* 示例:张三 -> 张**/ CHINESE_NAME(1 , "中文姓名") , /*** 身份证号码脱敏(保留前3位和后3位)
2026-02-04 13:15:55
474
原创 SpringBoot + 动态 SQL + 条件编排器:报表查询条件自由组合,业务人员也能配查询!
通过SpringBoot + 动态SQL + 条件编排器的组合,我们成功实现了一个灵活的报表查询系统。业务人员可以通过简单的配置完成复杂的查询条件组合,大大提高了开发效率和业务响应速度。这种方案的核心思想是将业务逻辑规则化、配置化,既保证了系统的灵活性,又降低了维护成本。在实际项目中,可以根据具体需求进行调整和优化。希望这篇文章对大家有所帮助!如果你有其他想法或建议,欢迎在评论区交流讨论。服务端技术精选,专注分享后端开发实战技术,助力你的技术成长!
2026-02-03 12:53:23
573
原创 接口被恶意狂刷,如何处理
/ 限流键// 限制次数// 时间窗口(秒)String message() default "请求过于频繁,请稍后再试";// 提示信息预防为主:建立完善的限流机制检测及时:实时监控异常行为响应迅速:快速封禁恶意请求持续优化:根据攻击模式调整策略记住,防护不是一成不变的,需要根据业务特点和攻击模式持续优化。掌握了这些技巧,你就能构建一个坚固的防护体系,让恶意刷接口的行为无处遁形!
2026-02-02 13:33:44
848
原创 SpringBoot + Flowable + 自定义节点:可视化工作流引擎,支持请假、报销、审批全场景
业务解耦:业务逻辑与流程引擎分离灵活扩展:支持复杂业务场景可复用:节点可在不同流程中复用易维护:业务逻辑集中管理@Service@Autowired@Autowired/*** 部署流程定义*/.deploy();/*** 启动流程实例*//*** 获取流程图*/@Component@Autowired@Autowired@Overridetry {// 获取流程变量// 执行业务逻辑// 发送通知。
2026-02-01 18:31:43
1028
原创 SpringBoot + ResponseBodyEmitter 实时异步流式推送:告别轮询,让数据推送更高效
高效传输:减少无效请求实时性好:数据变更立即推送实现简单:基于HTTP协议内存友好:流式处理大数据记住,ResponseBodyEmitter适合单向服务器推送的场景,对于需要双向通信的场景,还是需要WebSocket。但对大多数实时数据推送需求,ResponseBodyEmitter绝对是更优的选择!
2026-01-31 17:21:29
997
原创 SpringBoot + JSON Schema + 动态表单引擎:零代码配置企业级表单系统,告别重复开发
"title": "用户信息表单","name": {"title": "姓名","description": "请输入用户姓名"},"email": {"title": "邮箱","description": "请输入邮箱地址"},"age": {"title": "年龄","description": "请输入年龄"},"title": "性别","enumNames": ["男", "女"]},"title": "部门",
2026-01-30 12:57:13
864
原创 SpringBoot通过SSE实现消息推送:告别轮询,让实时消息推送更高效
简单易用:基于HTTP,实现简单自动重连:无需手动处理连接管理高效传输:减少无效请求浏览器原生支持:无需额外库记住,SSE适合单向服务器推送的场景,如果需要双向通信,还是需要WebSocket。但对大多数消息推送需求,SSE绝对是更优的选择!
2026-01-29 13:22:10
601
原创 SpringBoot + Redis + Lua:秒杀系统设计,超卖防护 + 库存预热 + 流量削峰全方案
通过SpringBoot + Redis + Lua的组合,我们可以构建一个高并发的秒杀系统。库存预热:提前加载库存到Redis原子操作:使用Lua脚本保证扣库存原子性流量控制:通过限流算法削峰填谷异步处理:订单处理异步化安全防护:防刷、防重、防超卖记住,秒杀系统不是一蹴而就的,需要根据实际业务场景持续优化。掌握了这些技巧,你就能构建一个稳定高效的秒杀系统,告别超卖和系统崩溃的烦恼。
2026-01-28 11:59:16
688
原创 SpringBoot 实现 RSA+AES 自动接口解密
Component@Override@Override= null) {// 解密参数try {// 解密逻辑throw new RuntimeException("参数解密失败", e);// 获取AES密钥// 类型转换逻辑通过SpringBoot实现RSA+AES混合加密,我们可以构建一个安全的接口数据传输体系。合理架构:加密工具、拦截器、参数解析器的合理设计性能考虑:AES加密大数据,RSA加密密钥安全实践:密钥安全存储、定期轮换用户体验。
2026-01-27 13:07:16
670
原创 SpringBoot + Sentinel + Nacos:微服务熔断、降级、限流一体化防护实战
Component@OverrideString message = "访问频率过高,请稍后再试";message = "请求被流控限制";message = "服务降级处理";message = "参数流控限制";));@Component// 记录限流日志log.warn("资源[{}]被限流,异常类型:{}", resource, ex.getClass().getSimpleName());// 发送告警。
2026-01-25 19:22:06
592
原创 还在用WebSocket实现即时通讯?试试MQTT吧,真香
推送效率高:一对多推送,减少网络开销资源消耗小:轻量级协议,服务器压力小功能完善:支持离线消息、QoS、遗嘱消息扩展性好:支持大量并发连接当然,MQTT也不是银弹,需要根据具体业务场景选择合适的技术方案。但如果你的场景是多对多消息推送,MQTT绝对值得一试,真香!记住,技术选型没有绝对的对错,只有是否适合当前场景。掌握了这些技巧,你就能根据业务需求选择最合适的即时通讯方案。
2026-01-24 15:17:48
944
原创 SpringBoot + ELK + MDC:分布式系统日志追踪,快速定位跨服务调用链问题
Aspect@Componentlogger.info("开始执行方法: {}.{}, 参数: {}",} else {logger.info("开始执行方法: {}.{}", className, methodName);try {logger.info("方法执行完成: {}.{}, 耗时: {}ms",logger.info("方法返回结果: {}", result);
2026-01-23 13:53:29
831
原创 支付请求幂等性设计:从原理到落地,杜绝重复扣款
先说说什么是幂等性。简单来说,就是同一个操作执行一次和执行多次的结果是一样的。在支付场景中,就是同一笔支付请求,无论被调用多少次,都应该只扣一次款。用户A向商家B支付100元用户点击支付按钮,系统处理支付无论这个支付请求被调用1次还是100次,用户A的账户都只能被扣100元这就是幂等性要保证的效果。唯一标识:使用订单号等唯一标识符状态机:设计清晰的状态转换逻辑分布式锁:防止并发处理异常处理:完善的异常处理和补偿机制监控告警:及时发现重复支付问题测试验证:充分的测试确保幂等性。
2026-01-22 22:18:51
594
原创 SpringBoot + SkyWalking + Prometheus:微服务全链路监控与性能压测闭环方案
Component// 创建自定义指标// 返回当前活跃用户数通过SpringBoot + SkyWalking + Prometheus的组合,我们可以构建一个完整的微服务监控体系。全面覆盖:从代码埋点到系统指标,全面监控可视化展示:通过图表直观展示系统状态智能告警:及时发现问题,避免影响扩大持续优化:通过压测闭环持续优化系统性能记住,监控不是一次性的工作,而是一个持续的过程。掌握了这些技巧,你就能让系统变得更加稳定可靠,告别线上事故的烦恼。
2026-01-21 13:39:30
828
原创 SpringBoot + MinIO + 阿里云 OSS:文件上传下载、分片断点续传全链路方案
高性能:分片上传和并发处理大幅提升上传效率高可用:多副本存储和混合部署保证数据安全高扩展:支持海量文件存储,易于水平扩展低成本:按需付费,资源利用率高易维护:标准化接口,便于运维管理这套方案已经在多个生产项目中稳定运行,处理了千万级的文件上传请求。当然,任何技术方案都不是银弹,需要根据具体业务场景进行调整和优化。希望今天的分享能给大家带来一些启发和帮助,让我们一起在技术的道路上不断前行!关注「服务端技术精选」,获取更多干货技术文章!
2026-01-20 13:48:25
697
原创 SpringBoot + Spring Security + RBAC:企业级权限模型设计与动态菜单渲染实战
Service@Autowired@Override.orElseThrow(() -> new UsernameNotFoundException("用户不存在: " + username));// 从数据库加载用户角色和权限User user = userRepository . findByUsername(username) . orElseThrow(() -> new UsernameNotFoundException("用户不存在: " + username));
2026-01-19 13:13:12
715
原创 SpringBoot + JWT + Sa-Token:认证鉴权双框架对比,安全登录与权限控制最佳实践
JWT和Sa-Token各有优势,选择哪个框架需要根据具体的业务场景来决定。JWT适合对无状态、跨域要求较高的场景,而Sa-Token则更适合需要丰富功能和简化开发的场景。在实际项目中,我们可以根据团队技术栈、业务复杂度等因素来选择最适合的方案。记住,认证鉴权是系统安全的第一道防线,无论选择哪种方案,都要确保实现的安全性和可靠性。安全无小事,从选择合适的认证框架开始!
2026-01-18 17:11:37
780
原创 SpringBoot 实现QPS监控:别等系统宕机了才知道加监控
null) {通过SpringBoot实现QPS监控,我们能够实时了解系统运行状态,及时发现性能瓶颈和异常情况。在实际应用中,建议结合Micrometer、Prometheus等成熟方案,同时根据业务特点定制化监控指标。记住,监控不是可有可无的装饰品,而是保障系统稳定运行的重要基础设施。别等系统宕机了才知道加监控的重要性,从现在开始,为你的系统建立完善的监控体系吧!
2026-01-17 16:19:41
424
转载 SpringBoot + CompletableFuture + 线程池:高并发异步编排,接口响应提速 80%+
通过SpringBoot + CompletableFuture + 线程池的组合,我们可以实现高效的异步编排,将原本串行执行的任务并行化,显著提升接口响应速度。在实际应用中,异步编排带来的性能提升通常能达到50%-80%甚至更高,特别是在需要调用多个外部服务或查询多个数据源的场景下。但同时也要注意,异步编程会增加代码复杂度,需要在性能和可维护性之间找到平衡。告别慢接口,让异步编排为你的系统性能插上翅膀!
2026-01-16 14:04:38
645
原创 SpringBoot + XXL-JOB + Quartz:任务调度双引擎选型与高可用调度平台搭建
通过本文的介绍,我们可以看到XXL-JOB和Quartz各有优势,选择哪个框架需要根据具体的业务场景来决定。推荐的实践原则:简单项目:如果只是几个简单的定时任务,可以直接使用Spring的@Scheduled中大型项目:如果有多个定时任务需要管理,推荐使用XXL-JOB复杂调度需求:如果需要复杂的任务依赖关系和事务支持,Quartz是更好的选择团队协作:如果团队成员需要可视化的任务管理,XXL-JOB的Web界面会更友好合理规划任务的执行时间,避免集中执行造成系统压力。
2026-01-15 13:15:20
686
1
原创 SpringBoot + Canal + RabbitMQ:MySQL 数据变更实时同步到缓存与搜索系统
通过SpringBoot + Canal + RabbitMQ的组合,我们可以构建一个高性能、高可靠的数据同步系统。无侵入性:不需要修改现有业务代码实时性强:基于binlog解析,延迟极低扩展性好:各组件都可以独立扩展可靠性高:多重保障机制确保数据不丢失在实际项目中,我们可以根据具体业务需求对这套方案进行定制化改造,比如增加数据过滤、格式转换等功能。记住,架构设计没有银弹,只有最适合业务场景的解决方案。在选择技术方案时,一定要结合自己的业务特点和团队技术栈来综合考虑。
2026-01-14 13:35:56
997
原创 SpringBoot + SpringCloud Gateway + Sentinel + Redis:API 网关层的接口限流、黑名单拦截与用户认证
API网关作为微服务架构的第一道防线,其重要性不言而喻。通过SpringBoot + SpringCloud Gateway + Sentinel + Redis的组合,我们构建了一套高可用、高性能的安全防护体系。这套方案不仅解决了我们面临的实际问题,也为后续的功能扩展留下了充足的空间。希望今天的分享能给大家在API网关设计方面带来一些启发。源码获取:关注公众号并私信回复:springcloud-gateway-sentinel-redis 获取源码!关注我,获取更多实用的技术干货!
2026-01-13 13:50:40
689
建设思路-政务领域-智慧应急、应急指挥平台
2023-02-20
软件开发-nginx-文件服务器配置
2023-01-30
使用Java连接sqlserver报错
2016-12-15
myeclipse8.5集成hibernate连接sqlserver报错。
2016-12-19
jsp页面使用三元表达式来动态控制性别radio选中问题
2016-12-21
使用ionic start myApp tabs 时出错
2016-06-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅