在刷ACE题的过程中,感觉对于消息队列部分的理解不是很深刻,这里来学习一下。

例行还是先走一遍阿里云大学的一些视频课程扫扫盲,选择如下课程:

阿里消息队列MQ简介:阿里巴巴中间件技术部自主研发的专业消息中间件。高可用、分布式,集群技术企业级互联网架构核心产品,双十一核心产品,面向万亿级洪峰的消息引擎。设计目标为应用解耦、削峰填谷;特征为海量消息堆积、高吞吐、可靠重试

特色功能:顺序消息、事务消息、定时消息;广播消费、集群消费;消息过滤、消息??滚进

上个图,图示说明了其能力。

MQ的三种发送方式:

方式一,可靠同步发送:发送方收到MQ端同步响应应答后发送下一条消息,这个应答从发送方看起来是MQ客户端SDK提供的的回调函数。

应用场景:重要通知邮件、报名短信通知、营销短信系统

方式二,可靠异步发送:发送方不等待MQ端响应后发送下一条消息,MQ端异步应答,这个应答从发送方看起来是MQ客户端SDK提供的的回调函数。

应用场景:用于链路耗时较长,对RT响应时间较为敏感的业务场景,例如用户视频上传后通知启动转码服务,转码完成后通知推送转码结果。

方式三,单向发送:发送方不等待MQ端响应后发送下一条消息,MQ不会应答,也即MQ客户端SDK不会出发应答的回调函数。

应用场景:适用于某些耗时非常短,但对可靠性要求并不高的场景,例如日志收集。

MQ三种方式发送消息比较:

  发送TPS 发送结果反馈 可靠性
同步发送 不丢失
异步发送 不丢失
单向发送 最快 可能丢失

MQ消费模式

基于发布-订阅模型。订阅方通过关于Topic消费消息

使用相同ConsumerID的订阅者属于同一个消费集群,同一个集群下的订阅消费逻辑必须完全一致,包括TAG的使用也是一致的,这些订阅者在逻辑上可以认为是一个消费节点。

集群消费模式:MQ认为任意一条消息只要被集群内任意一个消费者处理即可,如下图所示:

广播消费模式:MQ会将每条消息推送给集群注册过的所有客户端,保证消息至少被每台机器消费一次,如下图所示:

HTTP接入功能

跨语言、跨网络,解决异构网络情况下的服务互访,没有SDK也可以搞,简单上手快

这个有Python和PHP的实例,可以去官网参考之。

事务消息

MQ事务消息:帮助用户实现类似X/Open XA的分布事务功能,通过MQ事务消息能达到分布式事务的最终一致。先上个图:

打断点,学习了一下什么叫Open XA分布事务,总结成文:关于分布式事务

消息过滤

MQ允许消费者按照Tag对消息进行过滤,确保消费者只消费到他关心的消息类型。

举例说明:从客户下单到收到商品这一过程会产生一系列消息,比如订单创建、支付、物流消息,这些消息会发送到Topic为Trade_Topic的队列中,被各个不同的系统所接收,比如支付系统、物流系统、交易成功率分析系统、实时计算系统等。其中,物流系统只需要接收物流类型消息(logistics),而实时计算系统需要接收所有和交易相关(order、pay、logistics)的消息。

顺序消息

MQ提供的一种按照顺序进行发布的消息类型。顺序消息由两个部分组成,顺序发布和顺序消费;顺序消息类型一共分为两种,全局顺序和分区顺序。

顺序发布:对于指定的一个Topic,客户端将按照一定的先后顺序进行发送消息。

顺序消费:对于指定的一个Topic,按照一定的先后顺序进行接收消息,即先发送的消息一定会先被客户端接收到。

全局顺序:对于指定的一个Topic,所有消息将按照严格的先入先出的顺序,进行顺序发布和顺序消费。

分区顺序:对于指定的一个Topic,所有消息根据sharding key进行区块分区,同一个区块的信息将按照严格的先入先出的顺序,进行顺序发布和顺序消费。

sharding key:顺序消息中,区分不同区块的关键字段。sharding key于普通消息的key是完全不同的。

全局顺序性能低些,分区顺序性能高。阿里集团内部很多系统都采用分区顺序。

MQTT介绍

  • MQ支持标准MQTT协议,应用方无技术捆绑,可以无缝迁移。
  • 可以支持移动端MQTT消息和MQ消息的相互流转。
  • 无需自己维护MQTT服务端,稳定性和可靠性更高。
  • 完全兼容任何支持MQTT标准协议的SDK。
  • 终端数据采集支持顺序,例如同一辆车,同一台设备采集的数据有序。

场景:

架构:

消息轨迹

提供消息从生产者发出到消费者消费处理的整个过程中的相关节点的时间、地点等数据汇聚而成的完整链路信息。

其使用场景为生产环境的消息收发不符合预期时,可以使用消息轨迹工具排查问题,通过消息属性如MessageID、MessageKey甚至Topic、时间范围来搜索相关的消息轨迹,找到消息的实际收发状态,帮助诊断问题。

消息报表:查看消息的生产情况和消费的情况。

MQ中继:未来将会提供的功能,跨网络、跨防火墙、跨NAT,甚至跨多个云厂商的解决方案。

MQ+ARMS物联网解决方案

这个视频课程听完,感觉作用也就是扫扫盲,后续有时间再找详细的教程学习和实操吧。

阿里云消息队列MQ学习—阿里云大学视频课相关推荐

  1. 阿里云消息队列Kafka商业化:支持消息无缝迁移到云上

    摘要: 7月25日,阿里云宣布正式推出消息队列Kafka,全面融合开源生态.在兼容Apache生态的基础上,阿里云消息队列Kafka彻底解决了开源产品稳定性不足的痛点,可用性达99.9%,数据可靠性9 ...

  2. 分享一篇关于使用阿里云消息队列中遇到的坑

    相信很多小伙伴都在开发中使用过消息队列,尤其是高并发的情况,一般可以在缓存中操作数据,然后通过消息异步处理业务逻辑,操作数据库等. 本人所在的公司使用了阿里云的消息队列和RabbitMQ,据说使用阿里 ...

  3. 阿里云消息队列 2021 新功能新特性重要里程碑

    关于阿里云消息队列更多新功能新特性及详细介绍,欢迎大家查阅官网各产品"新功能发布记录": [1]  RocketMQ: ​​https://help.aliyun.com/docu ...

  4. 阿里云消息队列 RocketMQ、Kafka 荣获金融级产品稳定性测评 “先进级” 认证

    近日,由中国信通院和混沌工程实验室联合举办的混沌工程技术沙龙–金融行业精品专场顺利召开,并发布金融级产品稳定性测评成果.在分布式系统稳定性评估体系获奖名单中,阿里云分布式消息队列服务成为通过首批消息队 ...

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

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

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

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

  7. 阿里云ACA认证课程学习(阿里云简介掌握云服务器ECS)

    阿里云ACA认证课程学习 阿里云高校计划 https://developer.aliyun.com/adc/college/ 阿里云简介 阿里云 成立于2009年9月10日 在杭州.北京和硅谷设有研发 ...

  8. 阿里消息队列mq服务器,阿里的架构之路——漫谈MQ

    引言 接下来的文章是讨论有关企业分布式开发的文章,文章筹划了很长时间,文章的技术并不算新,但是文章中使用到的技术都是经过笔者研究实践后总结的,正所谓站在巨人的肩膀上,笔者并不是巨人,但也希望这篇文章能 ...

  9. 阿里云消息队列python_41. Python Queue 多进程的消息队列 PIPE

    消息队列: 消息队列是在消息传输过程中保存消息的容器. 消息队列最经典的用法就是消费者和生产者之间通过消息管道来传递消息,消费者和生产生是不通的进程.生产者往管道中写消息,消费者从管道中读消息. 相当 ...

最新文章

  1. mysql nosql引擎_nosql与mysql的区别是什么
  2. httpservletrequest和requestbody是否可以同时使用_净水器超过三天没用,是否可以直接使用?...
  3. STM32 电机教程 5 - 步进电机基础知识介绍
  4. 爬虫神器:超炫酷的自动化工具 Selenium
  5. 轻松搭建基于Serverless的Go应用(Gin、Beego 举例)
  6. [贪心][高精度][NOIP]国王游戏
  7. CLR 4.0 有哪些新东西? What's new in CLR 4.0--类型嵌入 Type embedding
  8. java filter bme_节点红色,想截断BME280传感器的结果
  9. linux下用arcconf做raid5,arcconf工具相关命令V1.0
  10. Hart 常用命令 命令格式+命令含义 中文翻译
  11. 2020电脑服务器cpu性能天梯图,CPU天梯图2020年最新版 最新电脑CPU性能排行榜
  12. ASP.NET Word转换成PDF文件
  13. shping cloud搭建大觅网-之sping cloud初体验
  14. 协众信息技术平面海报设计,你知道多少
  15. iPhone内存管理详细解说(二)
  16. 漫画|望京和西二旗全解读:最美互联网人
  17. 力扣解法汇总589- N 叉树的前序遍历
  18. 图像处理QPixmap、Picture、QBitmap
  19. ae打开模板显示不出来_打开AE模板提示缺少rsmb pro插件的解决办法
  20. 怎样设置win7也支持“休眠

热门文章

  1. python实现任意url转存为图片
  2. python houdini_Houdini Python开发实战 课程笔记
  3. Overview of the TREC-2011 Microblog Track
  4. python外星人游戏制作
  5. 工商银行顾欣:分布式全链路灰度发布的探索与实践
  6. 2015互联网校招总结
  7. 串口波特率115200
  8. 应用跳转(打电话/短信/邮件/浏览器/其他应用)
  9. java软件工程师工作业绩_java工程师个人简历自我评价_JAVA软件工程师面试简历的自我评价...
  10. 51单片机的蓝牙电子秤设计