Kafka MQ 如何处理请求

Kafka MQ 如何处理请求

元数据请求

客户端怎么知道该往哪里发送请求呢?

客户端使用了另一种请求类型,也就是元数据 请求。这种请求包含了客户端感兴趣的主题列表。服务器端的响应消息里指明了这些主题 所包含的分区、每个分区都有哪些副本,以及哪个副本是首领。元数据请求可以发送给任 意一个 broker,因为所有 broker 都缓存了这些信息。

一般情况下,客户端会把这些信息缓存起来,并直接往目标 broker 上发送生产请求和获取请求。它们需要时不时地通过发送元数据请求来刷新这些信息(刷新的时间间隔通过 metadata.max.age.ms 参数来配置),从而知道元数据是否发生了变更——比如,在新 broker 加入集群时,部分副本会被移动到新的 broker 上(如图 5-2 所示)。另外,如果客户端收到“非首领”错误,它会在尝试重发请求之前先刷新元数据,因为这个错误说明了客户端正在使用过期的元数据信息,之前的请求被发到了错误的 broker 上。

在这里插入图片描述

参考

  • 《Kafka权威指南》

相关推荐

  1. Tomcat是如何处理并发请求的?

    2024-03-16 19:14:03       17 阅读
  2. tomcat是如何处理Http请求流程的?

    2024-03-16 19:14:03       40 阅读
  3. 如何在PHP中处理跨域请求

    2024-03-16 19:14:03       27 阅读
  4. 请求为blob,但是返回json格式,如何处理

    2024-03-16 19:14:03       18 阅读
  5. 在Spring Boot中如何处理跨域请求(CORS)?

    2024-03-16 19:14:03       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-16 19:14:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-16 19:14:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-16 19:14:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-16 19:14:03       20 阅读

热门阅读

  1. 开源数据库 OpenGauss 的 SQL 解析源码分析

    2024-03-16 19:14:03       21 阅读
  2. docker实战(2)

    2024-03-16 19:14:03       16 阅读
  3. LeetCode 75 颜色分类

    2024-03-16 19:14:03       15 阅读
  4. sqlite3 数据库的增删改查

    2024-03-16 19:14:03       18 阅读
  5. LRC转SRT

    2024-03-16 19:14:03       21 阅读
  6. 某项目公司-——ETL工程师岗位——二面

    2024-03-16 19:14:03       19 阅读
  7. 基于transformer的英译中翻译模型

    2024-03-16 19:14:03       22 阅读
  8. 苹果Vision Pro+:医疗领域创新引领者

    2024-03-16 19:14:03       19 阅读
  9. Flutter,点击图标后,显示下拉条目选框

    2024-03-16 19:14:03       22 阅读
  10. C#面:System.Array.CopyTo() 和 System.Array.Clon() 的区别

    2024-03-16 19:14:03       19 阅读