Spring AI Alibaba 学习笔记

这是一份 Spring AI Alibaba 学习笔记,从模型调用快速入门开始,系统讲解了核心 API(Message、Prompt、ChatModel、ChatClient)和 Advisors 增强机制,深入介绍了 RAG 技术(文本嵌入、向量数据库、相似度搜索)、Tool Calling 工具调用流程,以及 MCP 协议。 学习 Spring AI Alibaba 最主要的一个核心原因就是 Graph,它用于编排多智能体与工作流 (Multi-Agent/Workflow)。所以笔记还重点讲解了 Graph 工作流编排框架,包括 State 状态管理、Node 节点定义、Edge 边连接、条件分支与循环执行,并通过咖啡店智能客服(RAG 实战)、英语学习助手(多节点协作)等实战案例,演示了如何构建企业级多智能体应用。

LangGraph 学习笔记

这是一份 LangGraph 学习笔记,涵盖了 LangGraph 的三大核心概念(State 状态管理、Node 节点、Edge 边)、条件分支与循环流程等,并详细讲解了如何构建带记忆的聊天机器人、实现工具调用的 Agent、搭建 ReAct Agent,以及多 Agent 协作的 Supervisor 模式。

UFW 最佳实践指南

在配置服务器时,防火墙是安全防护的重要一环。这篇文章分享了UFW(Uncomplicated Firewall)的最佳实践配置方法,包括基础配置、IP白名单设置,以及如何解决UFW和Docker配合使用时的端口访问问题。

Redisson 中 RRateLimiter 的令牌桶算法

令牌桶算法在 Redisson 的 RRateLimiter 中通过三个 Redis 数据结构巧妙实现:Hash 存储基础配置,Zset 记录请求时间戳,String 跟踪可用令牌数。其核心优势在于懒惰删除过期请求、精确时间窗口控制和非阻塞限流机制,既保证分布式一致性又实现高效限流,尽管不保证请求的公平处理顺序。

使用建造者模式优化 HTTP 请求工具类

在我司的一个集成项目中,我们需要频繁使用基于 HTTP 的接口调用来获取内部系统数据。虽然使用 hutool 的 HttpUtil 已经相对便捷,但在实际开发中发现代码仍然显得冗长,需要重复编写配置请求参数、设置请求头和打印日志等模板代码。为了解决这个问题,我使用建造者模式设计了一个 HttpRequestBuilder 工具类,通过链式调用的方式,不仅让代码更加简洁优雅,还把通用逻辑都封装起来,大大提升了代码的可维护性。

Jackson工具包的三种数据转换关系图

由于最近做项目时需要频繁处理JSON数据,我深入学习了Jackson工具包。Jackson主要用于处理三种数据类型的互相转换:JSON字符串、JsonNode树模型和Java对象(POJO)。为了更好地理解和记忆这些转换方法,我整理了它们之间的相互转换关系图。

三维地理数据在MySQL中的存储和使用

在我司的一个项目中,原本使用 MySQL 自带的空间数据类型来存储地理数据。但由于需求变更,现在需要为每个坐标点添加三维信息,这超出了 MySQL 空间数据类型的能力范围。为了解决这个问题,我重新设计了存储方案:使用 VARCHAR 类型字段存储类似 WKT 格式的三维坐标字符串,同时借助 JTS 库来处理二维空间的查询操作(如点是否在面内、线是否与面相交等),并开发了一系列工具类来处理坐标格式转换和空间关系计算。这样既保留了三维信息的存储,又能继续使用强大的空间查询功能。

MySQL空间数据的使用

本文详细介绍了如何在MySQL中使用空间数据类型(POINT、LINESTRING、POLYGON)来存储地理位置信息。首先展示了相关的建表语句,然后通过具体示例说明了如何插入和查询空间数据。最后还介绍了如何在Spring Boot项目中集成这些功能,包括实体类定义、自定义TypeHandler以及Service层的实现。通过这样的设计,可以方便地进行各种空间关系查询,比如查找多边形内的点、计算距离等。

Spring Integration 集成 MQTT 实现无人机状态实时监控

在我司的一个项目中,需要实现对无人机状态的实时监控。我使用Spring Integration框架来集成MQTT协议,实现了无人机数据的实时接收和处理。系统通过MQTT订阅无人机的状态信息(包括位置、速度、电量等),将数据存储在内存中,并通过定时任务来清理过期数据。最终实现了在前端三维场景中展示无人机的实时位置变化,并能查看无人机的实时视频流。这篇文章详细记录了从MQTT配置到具体实现的完整过程。

MQTT 服务端搭建

EMQX是一个基于Erlang/OTP的开源物联网MQTT消息服务器,可以支持海量设备连接和低延时消息路由。本文记录了如何使用Docker安装和配置EMQX,包括端口映射、访问管理控制台等关键步骤,方便后续查阅和参考。