天机迁移
专注Java全栈开发,具备医疗、教育、电商、金融等领域项目经验。熟悉SpringBoot、SpringCloud、Redis、RabbitMQ等技术栈,擅长高并发场景下的优惠券、积分、排行榜等模块设计与优化,具备分布式锁、缓存、消息队列等实战能力。(239字)
语音通知
适用于科技公司服务器或物联网设备异常时的语音告警场景。通过语音服务,可拨打电话并播放含变量的预设模板通知。需先开通服务,申请资质、话术、号码及模板,支持公共/专属模式。可通过API发起呼叫并查询记录,推荐使用消息回执接收结果。
RocketMQ:底层Netty频繁OS OOM
本文记录了一例Java应用因Netty多ClassLoader加载多个PooledByteBufAllocator,导致堆外内存超限引发OS OOM的排查过程。通过NMT、Arthas等工具分析,发现多个中间件独立加载Netty,各自绕过MaxDirectMemorySize限制申请堆外内存,总量远超配置。最终建议业务调低堆内存以腾出空间,并推动中间件优化。
电商业务
交易喵(2022.5-2023.10)为游戏账号交易平台,涵盖手游、端游等全品类交易,提供实名认证、保险服务、数据转移等多重保障。主导单点登录(JWT+Redis)、商品模块(MinIO存储)、内容审核(阿里云API)、优惠券系统(RabbitMQ异步处理)及代码优化,提升系统性能与安全性。
应用架构图
技术架构是将业务需求转化为技术实现的关键过程,涵盖分层设计、技术选型与系统集成。本文详解单体与分布式架构,包括展现层、业务层、数据层及基础层的职责,并阐述应用间调用关系、外部系统集成与边界划分,助力构建清晰的技术体系。
语音通知
适用于科技公司服务器及物联网设备异常时的语音告警通知。开通语音服务后,可基于公共或专属模式申请资质、话术、号码与模板,通过API调用实现变量替换的语音呼叫,并支持CallId追踪与消息回执推送,便于实时处理告警。
RocketMQ:底层Netty频繁OS OOM
本文记录了一例Java应用因多ClassLoader加载多个Netty的PooledByteBufAllocator实例,导致堆外内存超限引发OS OOM的排查过程。虽设MaxDirectMemorySize为1G,但7个独立Allocator各占配额,实际使用超1.5G。通过NMT、Arthas等工具定位到RocketMQ客户端为主要占用者。根本原因是Netty绕过JVM DirectMemory管控,自行管理堆外内存。建议短期调小堆内存腾出空间,长期优化中间件内存使用或统一类加载器。
RocketMQ:A2A协议实现多智能体优化
Agentic AI时代,多智能体协作需高效可靠通信。本文介绍Apache RocketMQ推出轻量级LiteTopic模型,结合A2A协议与阿里AgentScope框架,实现会话持久化、断点续传与高并发隔离,助力AI应用构建稳定、低延迟、可扩展的通信基座,推动多智能体系统落地。
6-MQ篇
本文介绍了RabbitMQ、Kafka和EMQ在项目中的应用及核心机制。涵盖消息队列的选型原因、消息不丢失、重复消费、顺序性、高可用、延迟消息等关键问题的解决方案,重点解析了各中间件在实际场景中的使用策略与优化手段。
每日八股
Day05:掌握RabbitMQ消息不丢失的三大机制——生产者确认、消息持久化、消费者确认;了解延迟消息实现及消息积压解决方案,并探讨MyBatis核心知识点。