【2020最新Java面试题资料】17道消息队列Kafka面试题.pdfVIP

【2020最新Java面试题资料】17道消息队列Kafka面试题.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.Kafka 的设计时什么样的呢? Kafka 将消息以 topic 为单位进行归纳 将向 Kafka topic 发布消息的程序成为 producers. 将预订 topics 并消费消息的程序成为 consumer. Kafka 以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个 broker. producers 通过网络将消息发送到 Kafka 集群,集群向消费者提供消息 2.数据传输的事物定义有哪三种? 数据传输的事务定义通常有以下三种级别: (1)最多一次 : 消息不会被重复发送,最多被传输一次,但也有可能一次不传输 (2 )最少一次 : 消息不会被漏发送,最少被传输一次,但也有可能被重复传输 . (3 )精确的一次( Exactly once): 不会漏传输也不会重复传输 ,每个消息都传输被一次而且 仅仅被传输一次,这是大家所期望的 3.Kafka 判断一个节点是否还活着有那两个条件? (1)节点必须可以维护和 ZooKeeper 的连接, Zookeeper 通过心跳机制检查每个节点的连接 (2 )如果节点是个 follower, 他必须能及时的同步 leader 的写操作,延时不能太久 4.producer 是否直接将数据发送到 broker 的 leader( 主节点 )? producer 直接将数据发送到 broker 的 leader(主节点 ),不需要在多个节点进行分发,为了帮 助 producer 做到这点,所有的 Kafka 节点都可以及时的告知 :哪些节点是活动的,目标 topic 目标分区的 leader 在哪。这样 producer 就可以直接将消息发送到目的地了 5 Kafa consumer 是否可以消费指定分区消息? Kafa consumer 消费消息时,向 broker 发出 "fetch" 请求去消费特定分区的消息, consumer 指 定消息在日志中的偏移量( offset ),就可以消费从这个位置开始的消息, customer 拥有了 offset 的控制权,可以向后回滚去重新消费之前的消息,这是很有意义的 6 Kafka 消息是采用 Pull 模式,还是 Push 模式? Kafka 最初考虑的问题是, customer 应该从 brokes 拉取消息还是 brokers 将消息推送到 consumer ,也就是 pull 还 push。在这方面, Kafka 遵循了一种大部分消息系统共同的传统的 设计: producer 将消息推送到 broker ,consumer 从 broker 拉取消息 一些消息系统比如 Scribe 和 Apache Flume 采用了 push 模式,将消息推送到下游的 consumer 。 这样做有好处也有坏处:由 broker 决定消息推送的速率,对于不同消费速率的 consumer 就 不太好处理了。消息系统都致力于让 consumer 以最大的速率最快速的消费消息,但不幸的 是, push 模式下,当 broker 推送的速率远大于 consumer 消费的速率时, consumer 恐怕就 要崩溃了。最终 Kafka还是选取了传统的 pull 模式 Pull 模式的另外一个好处是 consumer 可以自主决定是否批量的从 broker 拉取数据。 Push 模 式必须在不知道下游 consumer 消费能力和消费策略的情况下决定是立即推送每条消息还是 缓存之后批量推送。如果为了避免 consumer 崩溃而采用较低的推送速率,将可能导致一次 只推送较少的消息而造成浪费。 Pull 模式下, consumer 就可以根据自己的消费能力去决定这 些策略 Pull 有个缺点是,如果

文档评论(0)

拉拉链 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档