决战圣地玛丽乔亚Day06-- MQ消息队列

MQ消息队列。

目前市面上流行的MQ有:RocketMQ、kafka、RabbitMQ、ActiveMQ

比较一下这几个消息队列

一般消息队列的作用和使用场景是:
1.解耦。(本来A要调很多接口,现在A直接把数据放入MQ,下游服务需要自取)

2.最终一致性

3.广播

4.错峰与流控

 

 

吞吐量方面,ActiveMQ和RabbitMQ吞吐量都小,不适合大规模吞吐量使用。

追求高吞吐量可以用kafka,大公司首选。

追求高可靠,交易等场景可以用。

小公司可以用RabbitMQ,不好做二次开发,但是社区活跃,使用体验会好些。

 

RocketMQ:
重要的组成部分:NameServer、Broker、Producer、Consumer

 

 

 

 

NameServer:服务器端

Broker:代理服务器,存放消息负责转发的模块。

Producer:生产者
Consumer:消费者

消费者Group和生产者Group每隔30s向服务端同步一次Topic(一类消息的集合)

Topic是进行消息订阅的基本单元,订阅就是去订阅一个主题,一个主题下包含多条消息。

消费者从Broker拉取消息消费,生产者发送消息到Broker。

消费的方式分两种:一种消费者自己去拉取,一种是Broker推动给消费者。

消费者组和生产者组的消费和生产的逻辑和数据一致。消费和生产是按组的概念,这个组是一个整体。

消费模式:

1.集群消费:消费者组平摊消息

2.广播消费:消费者组每个单位都接受所有消息

3.普通顺序消息。消费者通过同一个消费队列收到的消息是有顺序的,不同消息队列收到的消息则可能是无顺序的

4.严格顺序消息。消费者收到的所有消息均是有顺序的

 

posted @   NobodyHero  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示