当前位置: 首页 > 面试题库 >

为什么Kafka不支持读写分离?

滑畅
2023-03-14
本文向大家介绍为什么Kafka不支持读写分离?相关面试题,主要包含被问及为什么Kafka不支持读写分离?时的应答技巧和注意事项,需要的朋友参考一下

在 Kafka 中,生产者写入消息、消费者读取消息的操作都是与 leader 副本进行交互的,从 而实现的是一种主写主读的生产消费模型。

Kafka 并不支持主写从读,因为主写从读有 2 个很明 显的缺点:

(1)数据一致性问题。数据从主节点转到从节点必然会有一个延时的时间窗口,这个时间 窗口会导致主从节点之间的数据不一致。某一时刻,在主节点和从节点中 A 数据的值都为 X, 之后将主节点中 A 的值修改为 Y,那么在这个变更通知到从节点之前,应用读取从节点中的 A 数据的值并不为最新的 Y,由此便产生了数据不一致的问题。

(2)延时问题。类似 Redis 这种组件,数据从写入主节点到同步至从节点中的过程需要经 历网络→主节点内存→网络→从节点内存这几个阶段,整个过程会耗费一定的时间。而在 Kafka 中,主从同步会比 Redis 更加耗时,它需要经历网络→主节点内存→主节点磁盘→网络→从节 点内存→从节点磁盘这几个阶段。对延时敏感的应用而言,主写从读的功能并不太适用。

 类似资料:
  • 本文向大家介绍为什么Java不支持<<相关面试题,主要包含被问及为什么Java不支持<<时的应答技巧和注意事项,需要的朋友参考一下 Java添加了运算符“ >>>”来执行逻辑右移,但是由于 逻辑和算术左移运算是相同的 ,因此Java中没有“ <<<”运算符。 来自Java的Shifts …

  • 我注意到一件奇怪的事情,显然Firefox说它支持HTTPS上的Brotli,但不支持HTTP?Brotli与gzip类似,但效率更高,为什么它会将其限制为HTTPS?在HTTPS选项卡上,我看到: 他被派去了。但在另一个网站上,我没有看到。为什么它不能做Brotli压缩HTTP?

  • 我想从mysql读取数据,然后写入sftp。现在我将文件写入本地,从本地写入sftp,最好的方法是什么?

  • 问题内容: 我只是想知道为什么Java 7 语句不支持大小写而是抛出?请参见下面的注释行(示例摘自上的Java教程文章): 这样可以避免每次使用前都进行空检查的条件。 问题答案: 正如damryfbfnetsi 在评论中指出的那样,JLS§14.11具有以下注释: 禁止将其用作开关标签,以防止他人编写永远无法执行的代码。如果表达式是引用类型,即装箱的原始类型或枚举类型,则如果表达式在运行时求值为,

  • 问题内容: Java为什么不包括对无符号整数的支持? 在我看来,这是一个奇怪的遗漏,因为它们允许人们编写不太可能在意外大的输入上产生溢出的代码。 此外,使用无符号整数可以是一种自我证明的形式,因为它们指示无符号int打算保留的值永远不会为负。 最后,在某些情况下,无符号整数对于某些操作(例如除法)可能更有效。 包括这些的不利之处是什么? 问题答案: 在两行之间阅读时,我认为逻辑是这样的: 通常,J

  • 问题内容: 我已经多次看到,负填充的前景可能会帮助某些页面元素的CSS开发变得越来越好。但是,W3C CSS中没有负填充的规定。这背后的原因是什么?该属性是否有阻碍其使用的阻碍?感谢您的回答。 更新 例如,我看到的情况是,如果您使用的字体的垂直间距为20px,并且希望在字体底部应用虚线边框,例如出现超链接时。在这种情况下,您会发现样式太简陋,因为虚线边框会出现在指定单词下方20px。如果您使用负边