美文网首页
kafka中的key有啥作用?

kafka中的key有啥作用?

作者: 牙齿不帅 | 来源:发表于2020-07-13 20:43 被阅读0次

kafka源码ProducerRecord.java类的注释说明了key的作用,注释如下:

A key/value pair to be sent to Kafka. This consists of a topic name to which the record is being sent, an optional partition number, and an optional key and value.
一个k/v对被发送到kafka。这包含被发送记录的主题名字,一个可选的分区编号,一个可选的key和value。

If a valid partition number is specified that partition will be used when sending the record. If no partition is specified but a key is present a partition will be chosen using a hash of the key. If neither key nor partition is present a partition will be assigned in a round-robin fashion.
如果一个有效的partition属性数值被指定,那么在发送记录时partition属性数值就会被应用。如果没有partition属性数值被指定,而一个key属性被声明的话,一个partition会通过key的hash而被选中。如果既没有key也没有partition属性数值被声明,那么一个partition将会被分配以轮询的方式。

The record also has an associated timestamp. If the user did not provide a timestamp, the producer will stamp the record with its current time. The timestamp eventually used by Kafka depends on the timestamp type configured for the topic.
record也有一个关联的时间戳。如果用户未提供一个时间戳,producer 将会通过当前的时间标记此record。时间戳最终会被kafka应用,其依赖时间戳类型来配置主题。

If the topic is configured to use {@link org.apache.kafka.common.record.TimestampType#CREATE_TIME CreateTime},the timestamp in the producer record will be used by the broker。
如果主题是配置用的CREATE_TIME ,在producer记录中的时间戳将会被broker应用。

If the topic is configured to use {@link org.apache.kafka.common.record.TimestampType#LOG_APPEND_TIME LogAppendTime}, the timestamp in the producer record will be overwritten by the broker with the broker local time when it appends the message to its log.
如果主题被配置用的LogAppendTime,当broker添加消息到它的日志中的时候,producer记录中的时间戳将会被broker覆盖掉,覆盖成以broker本地的时间。

In either of the cases above, the timestamp that has actually been used will be returned to user in {@link RecordMetadata}
对于以上两者之一,确实已被应用的时间戳将会在RecordMetadata中返回给用户。

相关文章

  • kafka中的key有啥作用?

    kafka源码ProducerRecord.java类的注释说明了key的作用,注释如下: A key/value...

  • React diff算法

    react/vue中,key的作用是什么? 为什么遍历时,key最好不要用index? 虚拟DOM中key的作用:...

  • 构造函数中{Key key}的作用

    案例:(不使用key,删除时state会刷新,element会产生复用,删除时会导致最后一个element删除而不...

  • <router-view :key=“key“/>中key的作用

    router-view 中key作用, 你可以 router-view 当做是一个容器,它渲染的组件是你使用 vu...

  • vue中key的作用

    我们先看一下vue官方文档中对key的介绍 key 的特殊属性主要用在 Vue 的虚拟 DOM 算法,在新旧 no...

  • Flutter中key的作用

    作者:森码 链接:https://www.jianshu.com/p/57debb89a24f 来源:简书 文章来...

  • Flutter中key的作用

    概述 在Widget的构造方法中,有Key这么一个可选参数,Key是一个抽象类,有LocalKey和GlobalK...

  • flutter中key的作用

    1.setState的原理 setstate会触发canUpdate函数的调用,这个函数会对比old widget...

  • vue中key的作用

    vue中key的作用主要是为了高效的更新dom, 其原理是vue在patch过程中通过keykey更精准判断俩个...

  • vue中:key的作用

    因为不理解 :key(v-bind:key),网上查了一些的资料,这篇写得非常不错,很简洁清楚。 其实不只是v...

网友评论

      本文标题:kafka中的key有啥作用?

      本文链接:https://www.haomeiwen.com/subject/bwvzcktx.html