课程咨询 :18487146383

  • kafka知识点:broker保存消息

    发布:昆明Java培训      来源:达内新闻      时间:2016-10-21

  • 昆明Java培训机构的老师今天给同学们讲broker保存消息

    4.1存储方式

    物理上把topic分成一个或多个patition(对应server.properties中的num.partitions=3配置),每个patition物理上对应一个文件夹(该文件夹存储该patition的所有消息和索引文件)

    4.2存储策略

    无论消息是否被消费,kafka都会保留所有消息。有两种策略可以删除旧数据:

    1.基于时间:log.retention.hours=168

    2.基于大小:log.retention.bytes=1073741824

    需要注意的是,因为Kafka读取特定消息的时间复杂度为O(1),即与文件大小无关,所以这里删除过期文件与提高Kafka性能无关。

    4.3 topic创建与删除

    4.3.1创建topic

    创建topic的序列

    流程说明:

    1. controller在ZooKeeper的/brokers/topics节点上注册watcher,当topic被创建,则controller会通过watch得到该topic的partition/replica分配。

    2. controller从/brokers/ids读取当前所有可用的broker列表,对于set_p中的每一个partition:

    2.1从分配给该partition的所有replica(称为AR)中任选一个可用的broker作为新的leader,并将AR设置为新的ISR

    2.2将新的leader和ISR写入/brokers/topics/[topic]/partitions/[partition]/state

    3. controller通过RPC向相关的broker发送LeaderAndISRRequest。

    4.3.2删除topic

    删除topic的序列

    流程说明:

    1. controller在zooKeeper的/brokers/topics节点上注册watcher,当topic被删除,则controller会通过watch得到该topic的partition/replica分配。

    2.若delete.topic.enable=false,结束;否则controller注册在/admin/delete_topics上的watch被fire,controller通过回调向对应的broker发送StopReplicaRequest。

    了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:kafka知识点:kafka架构

下一篇:kafka知识点:kafka HA

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:7月31日

Java--零基础业余班

Java--零基础业余班

开班日期:7月31日

Java--周末提升班

Java--周末提升班

开班日期:7月31日

Java--零基础周末班

Java--零基础周末班

开班日期:7月31日

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:18487146383    全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56