全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  大数据面试题

大数据面试题:ProducerRecord和消息发送到broker

发布时间:2022-08-09 14:38:00
发布人:syq

  1.ProducerRecord

1

  如果 key 不为 null,那么默认的分区器会对 key 进⾏哈希(采⽤ MurmurHash2 算法,具备 ⾼运算性能及低碰撞率),最终根据得到的哈希值来计算分区号,拥有相同 key 的消息会被写⼊同⼀个分区。如果 key 为 null,那么消息将会以轮询的⽅式发往主题内的各个可⽤分区。

  注意:如果 key 不为 null,那么计算得到的分区号会是所有分区中的任意⼀个;如果 key 为 null 并且有可⽤分区时,那么计算得到的分区号仅为可⽤分区中的任意⼀个,注意两者之间的差 别。

  2.消息发送到broker

  有可能需要经过拦截器(Interceptor)、序列化器(Serializer)和分区器(Partitioner)的⼀系列作⽤之后才能被真正地发往 broker。

  生产者拦截器,实现ProducerInterceptor接口:

  onSend() :在消息发送之前执行

  onAcknowledgement():在消息被应答之前或消息发送失败,优于callback执行。

  拦截链:按配置先后执行

  更多关于大数据培训的问题,欢迎咨询千锋教育在线名师。千锋教育拥有多年IT培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。

相关文章

大数据kafka常见面试题——如何搭建kafka?

2023-08-07

大数据kafka常见面试题——kafka中如何避免重复消费

2023-08-04

大数据面试题之多种方法创建dataframe

2023-08-02

大数据Hadoop面试题——Hadoop干什么用的?

2023-08-01

大数据行业2年工作经验的面试题有哪些?

2023-07-28

大数据kafka面试题——kafka和flume的区别是什么?

2023-07-27
在线咨询 免费试学 教程领取