Kafka 初见

雨燕双飞 提交于 2021-02-07 16:26:18

Kafka

基础

Broker

  • 一个集群中,每个服务server

Topic

  • 主题,代表一个消息的类型
    • partition
      • 分区,对一个topic划分为多个分区
    • Replica
      • 一个分区可以存在多个replica,除了leader对外提供服务,其他salve用于同步数据
    • segment
      • 为防止log不断追加导致文件过大,导致检索消息效率变低,一个partition又被划分为多个segment来组织数据

Producer

  • 生产者,发部消息到topic

Consumer

  • 消费者,订阅topic 从一个topic pull数据
    • offset
      • 偏移量,kafka的数据是顺序写入,顺序拉取的
    • Group
      • 同一个消费组的消费者不能制定同一个topic的同一个partition

ACK机制

  • producer
    • acks=0
      • producer不等待Broker的ACK,这种方式延迟最低,但如果在还未保存数据,broker故障,则数据丢失。
    • acks=1
      • producer等待broker的leader写成功后返回ACK,此方式为默认方式。如果在leader与follower同步成功前leader故障,可能带来数据丢失。
    • acks=-1(all)
      • producer等待broker的leader和follwer全部写数据成功后保存,此方法效率最低,但数据一致性最高。
  • consumer
    • 与通常的mq consumer使用pull的方式获取数据,没有ACK机制,通过offset来设置读取位置。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!