- 博客(17)
- 收藏
- 关注
原创 如何保证消息可靠性问题(RabbitMQ消息队列)?
消息可靠性保障需从发送者、MQ、消费者三方面着手:发送者通过重连机制和确认机制(PublisherConfirm/Return)确保消息投递;MQ通过数据持久化和LazyQueue优化存储;消费者采用确认机制(ack/nack/reject)、失败重试及幂等处理(唯一约束/业务判断)防止重复消费。兜底方案使用延迟消息(死信队列/DelayExchange插件)处理异常情况,形成完整的可靠性保障体系。
2025-12-22 20:53:05
1131
1
原创 如何实现API签名认证?如何防重放?
本文详细介绍了API签名认证机制,包括其核心原理和实现方法。签名认证通过accessKey和secretKey进行用户身份验证,采用单向加密算法生成不可逆签名,配合随机数(nonce)和时间戳(timestamp)防止重放攻击。对比了JWT与自定义签名认证的区别,强调密码不直接传输的安全性原则,并提供了具体的代码实现示例,包括签名生成工具类和服务端校验逻辑。该机制适用于无需保存登录态的场景,能有效保护API接口安全,防止未经授权的访问和滥用。
2025-12-19 20:34:44
1588
原创 MySQL掌握基本入门操作
MySQL是一种关系型数据库管理系统,支持SQL语言操作数据。文章介绍了MySQL的基本概念、安装连接方法、数据库创建及数据模型。重点讲解了SQL语句分类(DDL、DML、DQL、DCL)及其常用操作语法,包括表创建、约束设置、数据类型选择等。同时介绍了DataGrip等数据库管理工具的使用,以及JDBC和MyBatis框架的基本原理和操作方式。文章还涉及数据库连接池、XML映射配置等内容介绍。
2025-12-18 21:01:21
1143
原创 RPC与RPC框架Dubbo详解
本文介绍了RPC(远程过程调用)的基本概念、工作流程及与HTTP的区别。RPC允许程序像调用本地方法一样调用远程服务,通过提供者、调用方和注册中心三个角色实现。文章对比了RPC与HTTP在设计、协议性能、服务治理等方面的差异,并详细讲解了Dubbo框架的两种使用方式和核心特性。最后指出RPC适合微服务内部通信,而HTTP更适合对外API,实际项目中常结合两者优势使用。
2025-12-17 19:27:11
1582
原创 分布式事务的概念及常用解决方案介绍
本文探讨了分布式事务的概念及解决方案。分布式事务指在分布式系统中多个服务协同完成业务时,需确保各服务事务同时成功或失败。针对这一问题,文章分析了多种解决方案:1)2PC/XA协议采用强一致性,通过两阶段提交实现;2)Seata的AT模式利用快照实现最终一致性;3)TCC模式通过Try-Confirm-Cancel三阶段处理事务;4)消息队列方案通过异步消息保证最终一致;5)Saga模式适用于长流程业务。选择方案时应根据业务需求,在强一致性和最终一致性间权衡,大多数场景可采用最终一致性方案。
2025-12-16 22:42:48
977
原创 如何使用Sa-Token解决同端登录冲突检测?
Sa-Token是一个轻量级Java权限认证框架,提供登录认证、权限认证(RBAC)、单点登录、OAuth2.0等功能。其核心特点包括三种Session模型:Account-session(账号级)、Token-session(设备级)和Custom-session(自定义)。文章重点介绍了如何实现同端登录冲突检测,通过集成Sa-Token框架,快速实现同端互斥登录功能,包括设备信息识别、登录状态管理和异常处理。最后介绍了如何通过Redis实现分布式会话存储,确保系统重启后会话不丢失。该方案相比轮询更加轻量
2025-12-16 18:52:47
917
原创 Redis在秒杀业务中的应用
本文探讨了Redis在秒杀业务中的应用,重点介绍了全局唯一ID生成方案和分布式锁的实现。首先提出基于Redis的全局ID生成器设计方案,通过时间戳+序列号的组合方式保证ID唯一性。针对秒杀业务中的库存超卖问题,分析了悲观锁和乐观锁的解决方案及各自优缺点。对于一人一单场景,详细说明了synchronized锁的局限性及分布式锁的必要性。最后深入讲解了Redis分布式锁的实现原理,包括误删问题的解决方案和Lua脚本保证原子性的方法,提供了一套完整的分布式锁实现代码。这些技术方案共同构成了高并发秒杀系统的核心保障
2025-12-15 20:09:49
654
原创 Redis基本缓存及穿透、击穿、雪崩问题解决方案
本文系统介绍了Redis缓存的原理、应用场景及常见问题的解决方案。缓存通过数据交换缓冲区提高读写效率,降低后端负载,但会带来数据一致性和运维成本问题。文章详细阐述了缓存穿透、雪崩和击穿三大问题的成因及解决方案:缓存穿透可通过空对象缓存或布隆过滤器解决;缓存雪崩可通过随机TTL和集群部署缓解;缓存击穿可采用互斥锁或逻辑过期策略处理。同时,文章提供了Java代码示例说明如何实现商户缓存查询和更新操作,并比较了不同缓存更新策略的优劣,为开发者提供了实用的Redis缓存实践指南。
2025-12-15 16:32:18
703
原创 Redis的5种基本数据结构和4种扩展结构介绍
Redis是一款基于内存的键值型NoSQL数据库,具有高性能、持久化和集群支持等特性。它提供五种基本数据结构:String(字符串)、Hash(哈希)、List(列表)、Set(集合)和ZSet(有序集合),以及BitMap、HyperLogLog、GEO和Stream四种扩展结构。String适合存储简单数据,Hash适合存储对象字段,List实现队列功能,Set用于去重,ZSet支持排序。
2025-12-14 22:41:47
968
原创 大模型应用开发需要掌握的技术-AI智能体(Agent)构建
本文介绍了智能体的核心概念和技术实现。智能体是具有自主规划能力的AI系统,关键技术包括CoT思维链、AgentLoop执行循环和ReAct模式。文章详细阐述了智能体的分层架构设计,重点讲解了工具系统设计(终止工具、询问工具)和MCP协议支持。通过代码示例实践展示了智能体的实现过程,包括状态管理、执行循环、工具调用等核心功能。同时提出了防止无限循环的机制和流式输出接口的实现方法。最终构建了一个具备自主规划、工具调用和流式交互能力的智能体系统。
2025-12-14 21:17:38
1027
原创 AI大模型应用开发实战流程-MCP协议(Model Context Protocol)
MCP是一种增强AI与外部系统交互的开放标准协议,旨在通过统一标准降低开发成本并构建服务生态。其三层架构包括客户端/服务器层、会话层和传输层,支持Stdio和SSE两种传输模式。MCP的核心参与者包括主机(如VSCode)、客户端和服务端。SpringAI提供了MCP开发支持,包含客户端和服务端SDK,并支持响应式编程。本文以Pexels图片搜索服务为例,详细演示了MCP服务端和客户端的开发流程,包括配置、工具注册和单元测试。最后探讨了MCP的安全风险问题,相比工具调用,MCP更易接入但开发复杂度较高。
2025-12-13 22:10:54
1091
原创 AI大模型应用开发-工具调用(Function Calling)
工具调用(Tool Calling)是让AI大模型借助外部工具完成自身无法处理任务的技术。本文我将通过旅游规划应用案例实践,其核心流程包括:1)定义工具功能;2)AI判断需求并生成参数;3)后端程序执行工具;4)返回结果给AI生成最终响应。本文详细介绍了使用SpringAI框架开发多种工具的方法,包括文件操作、联网搜索、网页抓取、终端命令执行、资源下载和PDF生成工具,并提供了完整的代码示例和单元测试。重点强调了安全控制机制(如限制文件操作目录)和工具集中管理的最佳实践。
2025-12-13 16:23:21
1113
原创 ⭐解锁RAG与Spring AI的实战应用(万字详细教学与完整步骤流程实践)
点击阅读学习,掌握下一代AI应用的构建密钥!RAG(检索增强生成)是当前AI领域的热门技术,通过结合信息检索与生成模型,有效解决大模型的时效性局限和幻觉问题。本文将深入探讨RAG的核心流程,并结合Spring AI框架展示实现方式。实践环节涵盖文档预处理、向量存储(支持PGVector等数据库)、智能检索(相似度计算、元数据过滤)以及提示词优化。进阶优化策略涉及混合检索、多查询扩展等,通过调整切分算法、嵌入模型和检索参数提升效果。云服务集成(如阿里云百炼)可简化知识库管理,自定义组件能针对性优化业务场景。
2025-12-12 20:11:11
1017
原创 零基础开发者也能快速上手实现:实践运用Spring AI重要且实用的特性,搞定AI智能体应用开发的基本流程(必学⭐)
本文深入介绍了Spring AI框架的进阶实用特性,重点聚焦于如何通过自定义Advisor、结构化输出、对话记忆持久化等技巧提升AI智能体的开发效率和能力。这些特性不仅适用于基础入门,还能广大开发者构建更强大的AI应用,涵盖拦截器实现、日志优化、重读机制和输出转换等关键主题。文章提供了代码示例和实践步骤,确保零基础开发者也能快速上手。
2025-12-12 00:23:38
1025
原创 Prompt提示词工程,如何进一步优化来写出好的提示词?(提示词优化进阶技巧与Token)
强烈建议了解学习,本文介绍了大模型提示词(Prompt)的进阶优化技巧,包括7种核心方法:思维链提示、少样本学习、分步骤指导、自我评估修正、知识检索引用、多视角分析和多模态思维。这些方法能显著提升AI输出的质量和准确性。文章还分享了提示词调试技巧,强调明确指令、格式规范和示例展示的重要性,并解释了token概念及其成本优化策略,如精简提示词、结构化表达等。这些技巧适用于日常AI交互和大模型应用开发场景。
2025-12-11 13:03:09
645
原创 Prompt提示词工程(该如何写好基础的提示词?)
本文介绍了提示词的分类和写好prompt基础技巧。提示词主要分为三类:按角色(用户/系统/助手)、按功能(指令/对话/创意/角色扮演/少样本学习)和按复杂度(简单/复合/链式/模板)。基础写作技巧包括:1)明确任务和角色;2)提供详细说明和示例;3)使用结构化格式;4)指定输出格式要求。通过清晰定义AI角色、任务目标,提供具体样例和结构化模板,可以有效引导AI输出符合预期的结果。这些方法能减少模糊性,提高提示词的效果。
2025-12-11 07:00:00
512
1
原创 Java项目如何与AI大模型实现交互?
本文介绍了4种主流的大模型接入方式:1)SDK接入,通过官方工具包直接集成;2)HTTP接入,使用RESTAPI发送请求;3)SpringAI,基于Spring生态的AI框架;4)LangChain4j,专注于LLM应用的Java框架。以阿里云百炼平台为例,详细演示了每种方式的实现步骤和测试结果,其中SpringAI与Java生态集成度最高。对于AI超级智能体项目推荐使用SpringAI,简单对话场景可采用SDK或HTTP接入。最后提到可通过Ollama实现本地大模型部署,满足数据隐私和低延迟需求。
2025-12-10 00:21:50
1042
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅