首页 > 其他分享 >决战圣地玛丽乔亚Day06-- MQ消息队列

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

时间:2023-02-03 01:00:09浏览次数:43  
标签:消费 乔亚 消费者 -- Day06 Broker 队列 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.严格顺序消息。消费者收到的所有消息均是有顺序的

 

标签:消费,乔亚,消费者,--,Day06,Broker,队列,MQ,消息
From: https://www.cnblogs.com/dwj-ngu/p/17087863.html

相关文章

  • day19
    1、654最大二叉树classSolution{publicTreeNodeconstructMaximumBinaryTree(int[]nums){returntraversal(nums,0,nums.length);}publ......
  • Python \xee16进制转中文汉字
    在网络传输的时候会默认编码问题再加上编码器老旧的问题导致utf-8反编不成功直接导入到16进制数据变为ascll码试一试正好一下成功代码例子如下 importbinascii ......
  • Shader入门精要笔记 - CH7.3_渐变图控制漫反射
    左边是使用了前面提到的SpecularPerPixel,中间是没加渐变图时,右边是加了渐变图 高光+渐变图漫反射(RampTex)Shader"My/Tex/RampTexture"{Properties{......
  • 创邻科技实习
    一面--2023.1.111.简述kv存储引擎项目。2.pmem的使用方式,作为内存还是直接作为存储?3.表的结构,表的主键的意义?4.建立的主键索引与普通的索引有什么区别?如何实现的?5.哈......
  • Python判断字符串是否为空
    Python判断字符串是否为空和null方法实例判断python中的一个字符串是否为空,可以使用如下方法1、使用字符串长度判断len(s)==0则字符串为空#!/user/local/python/bin/......
  • mysql 基础
    通用语法以及分类:DDL:数据定义语言,用来定义数据库对象(数据库,表,字段)DML:数据操作语言,用来对数据库表中的数据进行增删改DQL:数据查询语言,用来查询数据库中表的记录DCL:数......
  • java(18) 泛型
    Java泛型Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是......
  • ThinkPHP5 whereTime()使用方法
    根据时间戳查询今天到后天db('table')->whereTime('time','between',[strtotime(date('Y-m-d')),strtotime(date('Y-m-d',strtotime('+2day')))])->select();根据......
  • Java(19)枚举
    Java枚举是一个特殊的类,一般表示一组常量,比如一年的4个季节,一个年的12个月份,一个星期的7天,方向有东南西北等。Java枚举类使用enum关键字来定义,各个常量使用逗号......
  • 空值合并运算符 '??'和可选链 "?."
    空值合并运算符??解决的问题考虑以下场景:letcount=0;alert(count||100);//100count||100首先会检查count是否为一个假值,它是0,确实是假值。所以,||运算......