rocketmq实现延迟队列精确到秒级实现方案1-代理实现

简单的来说,就是rocketmq发送消息到broker的时候,判断是否定时消息,

如果是定时消息,将消息发送到代理服务(这个是一个独立的服务,需要自己开发,定时地把消息发送出去),

当然了消息用什么来保存呢?
可以是数据库,redis等等,不过我推荐采用文件,因为消息可能会比较多,需要保存一定的时间,可以考虑RocksDB,这个效率非常的高效。

用什么来通信呢,我觉得 netty 比较好,当然了http也是可以的。

这种方式实现的好处是,不需要修改rocketmq服务端,修改发送消息的mq客户端就可以,

如果延迟消息很多的话,可以水平的扩展服务器,多台代理机器来发送消息

rocketmq实现延迟队列精确到秒级实现方案1-代理实现

开源rocketmq延迟队列实现:

Original: https://www.cnblogs.com/tomj2ee/p/15815147.html
Author: tomj2ee
Title: rocketmq实现延迟队列精确到秒级实现方案1-代理实现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/570912/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 二分搜索树节点的插入及查找

    目录 二分搜索树节点的插入 Java 实例代码 二分搜索树节点的查找 Java 实例代码 二分搜索树节点的插入 首先定义一个二分搜索树,Java 代码表示如下: BST.java …

    Java 2023年6月5日
    0138
  • 多线程那点事—Parallel.for

    先看段代码: 1 for (int i = 0; i < 10; i++) 2 { 3 Task.Factory.StartNew(()=>Console.WriteL…

    Java 2023年6月9日
    087
  • Nacos (Spring Cloud) 注册中心与配置中心

    Nacos 是什么 Nacos (Dynamic Naming and Configuration Service),其命名由三部分组成: Na (naming/nameServe…

    Java 2023年6月16日
    060
  • Android自定义View学习(1)——基础知识介绍

    原文:Android自定义View学习(1)——基础知识介绍 – Stars-One的杂货小窝 准备学习自定义View,介绍一下先了解了下相关的前置基础知识,特此总结 …

    Java 2023年6月13日
    071
  • 根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第5版)

    第5版震撼发布,功能更加强大,速度过来围观,这次版本更新如下: 1、修复生成JavaBean后缀错误的问题。2、新增实体的schema,生成实体时要使用的schema,schema…

    Java 2023年6月9日
    095
  • 迭代器Iterator

    迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,那么就需要在每一个类中定义hasNext()和next()方法,这样做是可以的,但是会…

    Java 2023年6月9日
    058
  • 防止表单重复提交思路分析

    出现重复提交的场景一般是在网速比较慢,服务器返回时间较长,导致用户以为没有提交成功或者习惯性的多点几次提交按钮。开发中必须杜绝重复提交问题。 一、出现重复提交表单的场景 场景一:在…

    Java 2023年6月5日
    077
  • 碎碎念六二

    07.01 心,完全沉静下来,阅读与创作,便是快乐的开始。 心静下来,做什么事情都会快乐的吧! 又是什么,让心静不下来呢?忧疑与恐惧,名利与渴望。 07.03 小心保存情感,蓄积,…

    Java 2023年6月9日
    071
  • 解决Mybatis-plus高版本不向后兼容的问题

    mybatis-plus插件后面的版本没有兼容低版本。即:不存在低版本中EntityWrapper这个类了。而该类采用数据库表真实字段名作查询条件,这样硬编码形式确实不友好,比如如…

    Java 2023年6月5日
    077
  • Java自动化审计(下篇)

    本文是 i 春秋论坛作家「Wker」表哥分享的技术文章,文章旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。 前期回顾 Java自动化审计(上篇) CodeQl的缺点 虽…

    Java 2023年5月29日
    070
  • 服务器巡检方法

    1.1 查看磁盘空间使用率 &#x6B63;&#x5E38;&#xFF1A;rate<80% 关注:80%<rate<90% 警告:90%…

    Java 2023年6月8日
    085
  • 一文搞懂Zookeeper原理

    一.概述 ZooKeeper 是什么? 是一个开源的分布式协调服务。使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起…

    Java 2023年6月7日
    080
  • [Java编程思想] 第七章 复用类

    第一种方法非常直观:只需在新的类中产生现有类的对象(组合)。第二种方法更细致一些:它按照现有类的类型来创建新类(继承)。 7.1 组合语法 只需将对象引用置于新类中即可。 clas…

    Java 2023年6月5日
    083
  • 戏说领域驱动设计(十一)——纠偏

    今儿写这个题目胆子有点大,不过还是得冒险整一篇(我怕您看完了骂我),一是出于经验分享,另外则是为了后面我们讲案例的时候做好铺垫。好的代码需要注意的事项其实挺多的,您真让我一骨脑儿都…

    Java 2023年6月7日
    083
  • 一种基于二分法的变步长批量处理算法

    1、前言 变步长批量处理算法,在实现某些功能时,非常需要。如数据传输和数据导入时,使用可变步长的批量处理算法,可以极大地提高系统的性能,。 在不稳定的网络环境下,传输失败的几率提高…

    Java 2023年6月14日
    086
  • 如何保证消息消费的幂等性

    或者说,如何保证消息消费的幂等性? 业务场景 在本项目中,新增员工接口,会有邮件发送,在测试接口的过程中,我们可能会有重复增加的操作,相对应的消费者端会收到两个邮件。 但是我们的用…

    Java 2023年6月5日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球