自定义延迟消息服务

我要开发同款
Jay_Cx2023年12月02日
68阅读
开发技术jmeter、压力测试、系统架构、mysqljava

作品详情

1.项目核心目的就是一个:替使用者存储需要延迟处理的消息或任务,并在设定时间进行准时投递。比如某些场景下,客户需要根据自己设定的时间进行周期性的任务触发,时间范围又是不确定的,则可以使用该项目,开发者只需要关心自己需要实现的业务逻辑,延迟触发功能则全权交给该服务。
2.该项目由本人独自维护,使用了rabbitMQ、redis、LUA以及时间轮算法,摆脱了阿里云上版RocketMQ,单机TPS达到了400+每秒。
3.市面上拥有延迟功能的组建很多,比如各类MQ都集成了延迟队列,但都是固定时间的。如何满足“任意”时间的延迟消息则是需要解决的。因此想到了使用redis的zset有序集合,那如何解决redis数据不可靠的问题,则需要结合LUA脚本保证操作的原子性,以及通过Mysql进行数据持久化。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论