参考阿里云官网地址:
https://help.aliyun.com/document_detail/34411.html?spm=a2c4g.11186623.6.544.7fb547b1YCTghH

SpringBoot 整合开发
https://blog.csdn.net/qq_38011415/article/details/83386062

简介

消息队列(Message Queue,简称 MQ)是阿里巴巴集团自主研发的专业消息中间件。 产品基于高可用分布式集群技术,提供消息订阅和发布、消息轨迹查询、定时(延时)消息、资源统计、监控报警等一系列消息云服务

优势

 1)丰富的属性配置支持普通队列、延迟队列、优先级队列等多种队列模式
2)支持海量并发
3)消息投递保证(确保消息至少成功消费一次)
4)用户资源隔离(接入阿里云子账户,资源隔离,确保非法获取)
5)分布式事物消息
6)消息日志管理(查看每一条消息的生命周期,重发等)
7)支持云监控

名词解释

名称 含义
Message 消息,消息队列中信息传递的载体
Message ID 消息的全局唯一标识,由 MQ 系统自动生成,唯一标识某条消息
Message Key 消息的业务标识,由消息生产者(Producer)设置,唯一标识某个业务逻辑
Topic 消息主题,一级消息类型,通过 Topic 对消息进行分类
Tag 消息标签,二级消息类型,用来进一步区分某个 Topic 下的消息分类
Producer 消息生产者,也称为消息发布者,负责生产并发送消息
Producer ID 一类 Producer 的标识,这类 Producer 通常生产并发送一类消息,且发送逻辑一致
Consumer 消息消费者,也称为消息订阅者,负责接收并消费消息
Consumer ID 一类 Consumer 的标识,这类 Consumer 通常接收并消费一类消息,且消费逻辑一致
消息类型
1)普通消息
2)定时消息
3)延时消息
4)事物消息
5)顺序消息
消费模式
参考:
https://help.aliyun.com/document_detail/43163.html?spm=a2c4g.11186623.6.552.b9f83036LmDbFc

  1. 集群消费
    一个 Consumer ID 所标识的所有 Consumer 平均分摊消费消息。例如某个 Topic 有 9 条消息,一个 Consumer ID 有 3 个 Consumer 实例,那么在集群消费模式下每个实例平均分摊,只消费其中的 3 条消息。
  2. 广播消费
    一个 Consumer ID 所标识的所有 Consumer 都会各自消费某条消息一次。例如某个 Topic 有 9 条消息,一个 Consumer ID 有 3 个 Consumer 实例,那么在广播消费模式下每个实例都会各自消费 9 条消息。
    快速入门
    参考
    https://help.aliyun.com/document_detail/34411.html?spm=a2c4g.11186623.6.544.19caa3cbBOFTKp

消息队列首先需要有它的主题Topic,生产者producer,消费者consumer。其中主题与生产者的对应关系为N:1,主题与消费者的对应关系为N:N。依次创建三者:

开发指南

常量类PropertyKeyConst
名称 类型 默认值 描述
AccessKey String 阿里云账号管理控制台中创建的 AccessKey,用于身份认证
SecretKey String 阿里云账号管理控制台中创建的 SecretKey,用于身份认证
OnsChannel String ALIYUN 用户渠道,阿里云:ALIYUN,聚石塔用户为:CLOUD
ONSAddr String 设置 MQ TCP 协议接入点
NAMESRV_ADDR String 设置 Name Server 列表(不推荐),与 ONSAddr 二选一
ConsumerId String Consumer 实例的唯一ID,您在控制台创建的 Consumer ID
MessageModel String CLUSTERING 设置 Consumer 的消费模式,集群消费:CLUSTERING,广播消费:BROADCASTING
ConsumeThreadNums String 64 消费线程数量
MaxReconsumeTimes String 16 设置消息消费失败的最大重试次数
ConsumeTimeout String 1 BatchConsumer每次批量消费的最大消息数量,默认值为1,允许自定义范围为[1, 32],实际消费数量可能小于该值
CheckImmunityTimeInSeconds String 30 设置事务消息第一次回查的最快时间,单位(秒)
shardingKey String 顺序消息中用来计算不同分区的值
suspendTimeMillis String 3000 只适用于顺序消息,设置消息消费失败的重试间隔时间,单位(毫秒)

消息类Message

消息类,表示要发送的消息。一条合法的消息,应包含主题(Topic),消息体以及可选的标签和业务标识。
注意:我们对每条消息的自定义键值对的长度没有限制,但所有的自定义键值对,系统键值对序列化后,所占空间不能超过 32767 字节。
1)无参构造
默认方法,即创建消息对象
2)有参构造
(1) 语法:public Message(String topic, String tag, String key, byte body)
(2) 语法:public Message(String topic, String tags, byte body)
参数:
名称 类型 描述
topic String 消息主题,最长不超过 255 个字符;由a-z、A-Z、0-9、中划线”-“以及下划线”_”构成
tags String 消息标签,请使用合法标识符,尽量简短且见名知意
key String 业务标识,一般加前缀用于区别
body byte 消息体,消息体长度默认不超过 4M,具体请参阅集群部署文档描述注意:生产与消费的序列化规则
3) 主题(topic)
语法:public void setTopic(String topic) 设置主题
语法:public String getTopic() 获取主题
4) 标签(Tag)
语法:public void setTag(String tag) 设置标签
语法:public String getTag() 获取标签
5) 消息(MsgId)
语法:public void setMsgID(String msgid) 设置消息ID
语法:public String getMsgID()获取消息ID
6) 业务(Key)
语法:public void setKey(String key) 设置业务key
语法:public String getKey()获取业务key
7) 消费重试次数(reconsumeTimes)
语法:public void setReconsumeTimes(int value)设置消息重试消费次数
语法:public int getReconsumeTimes()消息消费时,获取消息已经被重试消费的次数
8) 定时消息开始投递时间(startDeliverTime)
注:可用于延时
语法:public void setStartDeliverTime(long value)
设置消息的定时投递时间(绝对时间),最大延迟时间为40天
语法:public long getStartDeliverTime()获取定时消息开始投递时间
9) 消息生产时间(bornTimestamp)
语法:public void setBornTimestamp(long value)设置消息的产生时间
语法:public long getBornTimestamp()获取消息的生产时间
10) 产生消息的主机(bornHost)
语法:public void setBornHost(String value)设置生产消息的主机
语法:public String getBornHost()获取产生消息的主机

  1. 自定义属性值(userProperties)
    语法:public void putUserProperties(String key, String value)
    描述:添加用户自定义属性键值对; 该键值对在消费消费时可被获取。
    参数:
    名称 类型 描述
    key String 自定义属性键
    value String 自定义属性值
    返回值:无
    语法:public String getUserProperties(String key)
    描述:获取用户自定义属性的值。
    参数:
    名称 类型 描述
    key String 自定义属性键
    返回值:
    类型 描述
    String 自定义属性值

  2. 顺序消息分区值(shardingKey)
    语法:public void setShardingKey(String value)
    设置顺序消息中用来计算不同分区的值
    语法:public long getShardingKey() 获取顺序消息中用来计算不同分区的值

阿里云RocketMQ相关推荐

  1. Springboot2.0集成阿里云RocketMQ

    介绍 RocketMQ是出自阿里巴巴的一款开源消息中间件,在设计上借鉴了Kafka,2017年成为Apache顶级项目,虽然目前社区无法和Kafka比肩,但其历经多次天猫双十一的考验,其性能和稳定是毋 ...

  2. 厚积薄发--一文带您了解阿里云 RocketMQ 轻量版消息队列(MNS)

    作者: 周新宇&陈涛&李凯 阿里云 RocketMQ 轻量版(MNS)消息队列是一个轻量.可靠.可扩展且完全托管的分布式消息队列服务.MNS 能够帮助应用开发者在他们应用的分布式组件上 ...

  3. 使用阿里云rocketmq引用ons-client包从1.2.7.Final-1.8.0.Final JSONPResponseBodyAdvice

    如题: 使用阿里云rocketmq引用ons-client包从1.2.7.Final-1.8.0.Final 后一直提示: nested exception is org.springframewor ...

  4. springboot集成阿里云rocketMQ代码示例

    集成目标:完成生产者发送消息,消费者接收消息的整个流程 集成步骤: 1.引入jar包依赖 <!--rocketMq消息队列--><dependency><groupId& ...

  5. 阿里云RocketMQ:No route info of this topic, com.aliyun.openservices.ons.api.exception

    使用阿里云的RocketMQ,但是发现本地调试会报错和自己预期的不一样,主要报错是"No route info of this topic,com.aliyun.openservices.o ...

  6. .net 使用阿里云RocketMQ

    1.首先我们来讲解一下消息队列的作用 比如说我们的订单系统,再客户订单生成了以后,可能会有 快递系统,通知系统,和打印系统需要用到当前订单的详细内容 所以这个时候常规的操作是在A里面通过代码调用B,C ...

  7. No route info of this topic 阿里云rocketmq报错

    阿里mq对接的时候报错 , No route info of this topic . 不要被表象给迷惑了 问题原因: 用户名账号密码错误, 使用的并不是账号的AccessKey 与AccessSec ...

  8. 阿里云消息队列 RocketMQ 5.0 全新升级:消息、事件、流融合处理平台

    从"消息"到"消息.事件.流"的大融合 消息队列作为当代应用的通信基础设施,微服务架构应用的核心依赖,通过异步解耦能力让用户更高效地构建分布式.高性能.弹性健壮 ...

  9. 云栖发布|阿里云消息队列 RocketMQ 5.0:消息、事件、流融合处理平台

    简介:RocketMQ5.0 的发布标志着阿里云消息正式从消息领域正式迈向了"消息.事件.流"场景大融合的新局面. 引言:从"消息"到"消息.事件.流 ...

最新文章

  1. React 打怪笔记
  2. 甩锅!偷懒!PUA!转嫁压力!铲除异己!压榨下属!这就是职场leader真面目!...
  3. 字节跳动小程序接入支付功能
  4. EOS开发基础之五:使用cleos命令行客户端操作EOS——智能合约之Exchange
  5. linux scp 跨服务器,scp跨服务器拷贝,后台运行
  6. 减少mysql主从数据同步延迟问题的详解
  7. python规则框架_Pytest框架【2】:用例规则
  8. VUE data传值
  9. 摆脱加卡他卡_如何通过三个简单的步骤摆脱“故事卡地狱”。
  10. SNMP简单网络管理协议
  11. 怎么学好python leetcode的题目太难了_为什么leetcode中的python解法过于pythonic,而忽略了算法题主要关注的复杂度问题?...
  12. 如何制作BAT(Windows批处理文件)病毒
  13. 安卓手机上有什么好用的日程安排管理软件?
  14. USB闪存盘变成FDD(软盘驱动器)了?
  15. C++实现会议安排问题(贪心问题)
  16. uniapp+nvue实现仿微信App聊天应用 —— 成功实现好友聊天+语音视频通话功能
  17. eclipse导入源文件后还是不能查看源代码的解决办法
  18. 机器学习-训练了一个高效快速识别身份证正面关键信息的模型
  19. 揭秘今日头条推荐10万+
  20. vue 使用table2excel导出excel表格(带图片)

热门文章

  1. 只要有心,学好Linux并非难事
  2. Python中使用GoogleMaps API(包含Geocoding API,Places API Web Service )详细教程
  3. 生理期是女孩变美的黄金期
  4. 如何关闭Windows10的自动更新
  5. 搭建IIS服务器发布ASP网站
  6. Koahub微信商城系统免费专区
  7. PCIE控制器——数据链路层——DLLP报文
  8. 沪深交易所网上、网下发行对比
  9. 这100道练习,带你玩转Numpy
  10. 【建筑类】各级钢筋符号直接打出来的简单方法