首页 > 其他分享 >面试-mq

面试-mq

时间:2023-07-25 21:46:18浏览次数:34  
标签:Producer Broker Topic 面试 mq 消息 NameServer Consumer

NameServer

每个 Broker 在启动的时候会到 NameServer 注册,Producer 在发送消息前会根据 Topic 到
NameServer 获取到 Broker 的路由信息,Consumer 也会定时获取 Topic 的路由信息

Broker

Broker负责消息存储,Broker是具体提供业务的服务器,单个Broker节点与所有的NameServer节点保持⻓连接及⼼跳,并会定时将Topic信息注册到NameServer,顺带⼀提底层的通信和连接都是基于Netty实现的。

Producer

Producer由⽤户进⾏分布式部署,消息由Producer通过多种负载均衡模式发送到Broker集群,
RocketMQ 提供了三种⽅式发送消息:同步、异步和单向

Consumer

Consumer也由⽤户部署,⽀持PUSH和PULL两种消费模式,⽀持集群消费和⼴播消息,提供实时
的消息订阅机制。

Topic

Topic(主题)可以看做消息的规类,它是消息的第⼀级类型。

Tag

Tag(标签)可以看作⼦主题,它是消息的第⼆级类型

Group

分为ProducerGroup,ConsumerGroup,代表某⼀类的⽣产者和消费者,⼀般来说同⼀个服务可以作为
Group,同⼀个Group⼀般来说发送和消费的消息都是⼀样的

Queue

在Kafka中叫Partition,每个Queue内部是有序的,在RocketMQ中分为读和写两种队列,⼀般来说读
写队列数量⼀致,如果不⼀致就会出现很多问题。

消息消费模式

消息消费模式有两种:Clustering(集群消费)和Broadcasting(⼴播消费)。

⼀次完整的通信流程是怎样的?

Producer 与 NameServer集群中的其中⼀个节点(随机选择)建⽴⻓连接,定期从 NameServer 获取
Topic 路由信息,并向提供 Topic 服务的 Broker Master 建⽴⻓连接,且定时向 Broker 发送⼼跳。
Producer 只能将消息发送到 Broker master,但是 Consumer 则不⼀样,它同时和提供 Topic 服务的
Master 和 Slave建⽴⻓连接,既可以从 Broker Master 订阅消息,也可以从 Broker Slave 订阅消息。

标签:Producer,Broker,Topic,面试,mq,消息,NameServer,Consumer
From: https://www.cnblogs.com/fxx5/p/17581114.html

相关文章

  • AI面试官:Asp.Net 中使用Log4Net (三)
    AI面试官:Asp.Net中使用Log4Net(三)当面试涉及到使用log4net日志记录框架的相关问题时,通常会聚焦在如何在.NET或.NETCore应用程序中集成和使用log4net。以下是一些关于log4net的面试题目,以及相应的解答、案例和代码:目录AI面试官:Asp.Net中使用Log4Net(三)11.如何在log4net中......
  • AI面试官:Asp.Net 中使用Log4Net (二)
    AI面试官:Asp.Net中使用Log4Net(二)当面试涉及到使用log4net日志记录框架的相关问题时,通常会聚焦在如何在.NET或.NETCore应用程序中集成和使用log4net。以下是一些关于log4net的面试题目,以及相应的解答、案例和代码:目录AI面试官:Asp.Net中使用Log4Net(二)6.如何配置log4net,......
  • AI面试官:Asp.Net 中使用Log4Net (一)
    AI面试官:Asp.Net中使用Log4Net(一)1.先新建一个ASP.NETCore空项目目录AI面试官:Asp.Net中使用Log4Net(一)1.先新建一个ASP.NETCore空项目1.什么是log4net?它的作用是什么?2.log4net日志级别有哪些?如何设置日志级别?3.如何在.NETCore应用程序中使用log4net记录日志?4.log......
  • 记录--为啥面试官总喜欢问computed是咋实现的?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助从computed的特性出发computed最耀眼的几个特性是啥?1.依赖追踪import{reactive,computed}from'vue'conststate=reactive({a:1,b:2,c:3,})constsum=computed(()=>{returnstat......
  • 面试必备!卖萌屋算法工程师思维导图—统计机器学习篇
    卖萌屋的妹子们(划掉)作者团整理的算法工程师思维导图,求职/自我提升/查漏补缺神器。该手册一共分为数据结构与算法、数学基础、统计机器学习和深度学习四个部分。下面是第二部分统计机器学习的内容~公众号后台回复【思维导图】获取完整手册(Xmind脑图源文件,学习起来更方便(ง•_•)ง......
  • Zabbix MQQT协议监控 loT设备
    一.项目背景监控异地局域网主机(主机内有物联5G卡可以单方面向特定的云服务器传输信息)这里采用zabbix5xx系列agent2-6.2版本主动模式,即客户端向服务端注册。 二.部署服务端 2.1安装docker#01安装docker#step1:安装必要的一些系统工具sudoyuminstall-y......
  • MyBatis 面试题
    1、什么是Mybatis? 1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 2、MyBatis可以使......
  • MapReduce面试题
    MapReduce优化方法或如何减少map任务的启动或如何减少磁盘io数据输入小文件合并。使用抽象类CombineFileInputFormat作为输入处理。map阶段减少spill和merge次数。通过调整io.sort.mb及sort.spill.percent参数值,增大触发spill的内存上限,减少spill次数,从而减少磁盘I......
  • RocketMQ关键技术整理
    form https://gitee.com/apache/rocketmq/tree/master/docs/cn技术架构RocketMQ架构上主要分为四部分,如上图所示:Producer:消息发布的角色,支持分布式集群方式部署。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。C......
  • Java面试题 P2:Jvm新能调优
    1、JDK体系结构JDK由:java命令及常用工具+JRE组成(java运行时环境)JRE由:支撑java运行的各种类库+JVM(java运行时环境) 2、为什么java可以跨平台部署跨平台是由java虚拟机,jvm去实现的。 3、Java虚拟机内部组成结构图 java代码运行工作顺序:(1)先通过javac将Math.java编译为......