当前位置: 首页 > news >正文

消息中间件-面试题

MQ选择

一、Kafka

1、消息队列如何保证消息可靠性

  • 消息不重复
    • 生产者控制
    • 消费者幂等
  • 消息不丢失
    • 生产者发送,要确认broker收到并持久化
    • broker确认消费者消费完,再删除消息

2、kafka是什么

  • Kafka是一种高吞吐量、分布式、基于发布/订阅的消息中间件,是Apache的开源项目。
  • broker: Kafka服务器,负责消息存储和转发
  • topic:消息类别,Kafka按照topic来分类消息
  • partition: topic的分区,一个topic可以包含多个partition, topic 消息保存在各个partition上。offset:消息在日志中的位置,可以理解是消息在partition上的偏移量,代表该消息的唯一序号
  • Producer:消息生产者
  • Consumer:消息消费者
  • Consumer Group:消费者分组,每个Consumer必须属于一个group
  • Zookeeper:保存着集群 broker、 topic、 partition等数据;另外,还负责broker故障发现, partition leader选举,负载均衡等功能

3、kafka的架构

  • Producers(生产者):生产者将数据PUSH给broker

  • Consumers(消费者):因为Kafka代理是无状态的,这意味着消费者必须通过使用分区偏移来维护已经消耗了多少消息。消费者向broker拉取消息

  • Broker(代理):一台 kafka 服务器就是一个 broker。一个集群由多个 broker 组成。一个 broker 可以容纳多个 topic。

  • Topic :可以理解为一个队列,一个 Topic 又分为一个或多个分区

  • Consumer Group:这是 kafka 用来实现一个 topic 消息的广播(发给所有的 consumer)和单播(发给任意一个 consumer)的手段。一个 topic 可以有多个 Consumer Group

  • ZooKeeper:用于管理和协调broker。 

4、kafka的消费者是pull(拉)还是push(推)模式

http://www.lryc.cn/news/304604.html

相关文章:

  • Python 将二维数组或矩阵变为三维
  • 区块链与Solidity详细介绍及基本语法使用
  • 题目 1253: 老王赛马
  • 【MATLAB源码-第144期】基于matlab的蝴蝶优化算法(BOA)无人机三维路径规划,输出做短路径图和适应度曲线。
  • 地下管线管网三维建模工具MagicPipe3D V3.4.2发布
  • 糖尿病性视网膜病变(DR)的自动化检测和分期
  • C 标准库 - <errno.h>
  • 基于springboot+vue的房屋租赁管理系统(前后端分离)
  • Sora----打破虚实之间的最后一根枷锁----这扇门的背后是人类文明的晟阳还是最后的余晖
  • C语言之static关键字详解
  • Redis高性能原理
  • MSS与cwnd的关系,rwnd又是什么?
  • 解决两个MySQL5.7报错
  • [OpenAI]继ChatGPT后发布的Sora模型原理与体验通道
  • 机器人初识 —— 电机传动系统
  • 安卓游戏开发之音频技术优劣分析
  • 在C语言中,设置Linux系统时间
  • golang k8s包管理工具
  • 数字信号处理:傅里叶分析
  • pat 甲级 1051 Pop Sequence
  • Stable Diffusion 绘画入门教程(webui)-ControlNet(深度Depth)
  • Rust-知多少?
  • Qt不规则可移动窗体的实现
  • Jakarta Bean Validation
  • Flink Catalog 解读与同步 Hudi 表元数据的最佳实践
  • git 使用总结
  • 【Elasticsearch专栏 01】深入探索:Elasticsearch的正向索引和倒排索引是什么
  • Linux、Ubuntu、CenterOS、RedHat、Debian、AIpine关系和区别?
  • 微信小程序开发:通过wx.login()获取用户唯一标识openid和unionid
  • 设计模式之模板方法