摘要: 这篇文章,我们聊聊消息队列中非常重要的最佳实践之一:消费幂等。 1 基础概念 消费幂等是指:当出现 RocketMQ 消费者对某条消息重复消费的情况时,重复消费的结果与消费一次的结果是相同的,并且多次消费并未对业务系统产生任何负面影响。 例如,在支付场景下,消费者消费扣款消息,对一笔订单执行扣款操作 阅读全文
posted @ 2023-12-18 13:01 勇哥编程游记 阅读(577) 评论(0) 推荐(1) 编辑
摘要: 在 Spring Boot 项目中,数据库连接池已经成为标配,然而,我曾经遇到过不少连接池异常导致业务错误的事故。很多经验丰富的工程师也可能不小心在这方面出现问题。 在这篇文章中,我们将探讨数据库连接池,深入解析其实现机制,以便更好地理解和规避潜在的风险。 1 为什么需要连接池 假如没有连接池,我们 阅读全文
posted @ 2023-12-09 10:15 勇哥编程游记 阅读(627) 评论(0) 推荐(2) 编辑
摘要: 1 初心 大家好,我是勇哥。花了三个月的时间,我手写了个短信平台服务 platform-sms,今天开源出来 Beta 版本。 写这个开源项目的初心其实很简单:"帮助初中级研发工程师入门架构设计,提升他们的技术认知"。 2018年,作为架构师,我参与一个短信平台的重构。发送短信的场景包括还款业务、C 阅读全文
posted @ 2023-11-26 12:37 勇哥编程游记 阅读(4552) 评论(8) 推荐(43) 编辑
摘要: 很多业务场景里,我们都需要发送短信,比如登陆验证码、告警、营销通知、节日祝福等等。 这篇文章,我们聊聊 Java 应用中如何优雅的发送短信。 1 客户端/服务端两种模式 Java 应用中发送短信通常需要使用短信服务提供商提供的短信 API 。 我们经常使用的短信渠道有:阿里云、腾讯云、华为云、亿美等 阅读全文
posted @ 2023-11-07 15:10 勇哥编程游记 阅读(691) 评论(1) 推荐(3) 编辑
摘要: 这篇文章,我们聊一聊 RocketMQ 的消息轨迹设计思路。 查询消息轨迹可作为生产环境中排查问题强有力的数据支持 ,也是研发同学解决线上问题的重要武器之一。 1 基础概念 消息轨迹是指一条消息从生产者发送到 Broker , 再到消费者消费,整个过程中的各个相关节点的时间、状态等数据汇聚而成的完整 阅读全文
posted @ 2023-11-03 19:48 勇哥编程游记 阅读(375) 评论(0) 推荐(2) 编辑
摘要: Hope is a good thing, maybe the best of things, and no good thing ever dies. 希望是件美丽的东西,也许是最好的东西,而美好的东西是永远不会消逝的。 大家好,我是勇哥 。 1024 , 程序员节,圆了我一个小小的梦。 花了半年 阅读全文
posted @ 2023-10-24 01:41 勇哥编程游记 阅读(243) 评论(1) 推荐(2) 编辑
摘要: 这篇文章,笔者想聊聊 RocketMQ 最佳实践之一:保证订阅关系一致。 订阅关系一致指的是同一个消费者 Group ID 下所有 Consumer 实例所订阅的 Topic 、Tag 必须完全一致。 如果订阅关系不一致,消息消费的逻辑就会混乱,甚至导致消息丢失。 1 订阅关系演示 首先我们展示正确 阅读全文
posted @ 2023-10-11 00:36 勇哥编程游记 阅读(419) 评论(0) 推荐(2) 编辑
摘要: 这篇文章我们聊聊广播消费,因为广播消费在某些场景下真的有奇效。笔者会从基础概念、实现机制、实战案例、注意事项四个方面一一展开,希望能帮助到大家。 1 基础概念 RocketMQ 支持两种消息模式:集群消费( Clustering )和广播消费( Broadcasting )。 集群消费: 同一 To 阅读全文
posted @ 2023-09-24 13:27 勇哥编程游记 阅读(523) 评论(0) 推荐(1) 编辑
摘要: Disruptor 是英国外汇交易公司 LMAX 开发的一个高性能队列。很多知名开源项目里,比如 canal 、log4j2、 storm 都是用了 Disruptor 以提升系统性能 。 这篇文章,我们通过两个例子一步一个脚印帮助同学们入门 Disruptor 。 1 环形缓冲区 下图展示了 Di 阅读全文
posted @ 2023-09-19 13:07 勇哥编程游记 阅读(415) 评论(2) 推荐(3) 编辑
摘要: canal 是阿里知名的开源项目,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。 这篇文章,我们手把手向同学们展示**使用 canal 将 MySQL 增量数据同步到 ES** 。 ![](https://img2023.cnblogs.com/blog/2487169/2 阅读全文
posted @ 2023-08-30 19:49 勇哥编程游记 阅读(472) 评论(0) 推荐(2) 编辑