kafka基础学习(一)

kafka基本概念 

  • producer:消息和数据的生产者,向kafka的一个topic发布消息的进程、代码,服务
  • consumer:消息和数据的消费者,订阅数据(topic)并且处理其发布进程、代码,服务
  • consumerGroup:逻辑概念,对于一个topic,会广播给不同的group,一个group中,只有一个consumer可以消费该消息
  • Broker:物理概念,kafka集群中的每个kafka节点。brokerGroup中的每一个brocker保存topic的一个或多个partitions
  • Topic:逻辑概念,kafka消息的类别,对数据进行区分,隔离。每个topic可以有多个生产者向它发送消息,也可以有多个消费者去消费其中的消息
  •            每一个topic被切分为多个partitions,消费者树少于或等于partitions  

  • partition:物理概念,kafka下数据存储的基本单元,一个topic的数据,会被分散到多个partition存储,每一个partition是有序的。每个topic可以划分多个分区(每个Topic至少有一个分区),同一topic下的不同分区包含的消息是不同 的。每个消息在被添加到分区时,都会被分配一个offset(称之为偏移量),它是消息在此分区中的唯 一编号,kafka通过offset保证消息在分区内的顺序,offset的顺序不跨分区,即kafka只保证在同一个 分区内的消息是有序的。

  • Replication:同一个partition可能会有多个Relication,多个Replication之间数据是一样的
  •                      当集群中有brocker挂掉的情况,系统可以主动地使用Replicas提供服务
  •                      系统默认设置每一个topic的replication系数为1,可以在创建topic时单独设置
  • ReplicationLeader:一个partition的多个Replication上,需要一个leader负责该partition上与producer和consumer的交互 
  • ReplicaManager:负责管理当前brocker的所有分区和副本的信息,处理kafkaController发起的一些请求 ,副本的添加状态切换

 kafka基本结构

 

kafka应用场景

  • 日志收集
  • 消息队列
  • 行为跟踪
  • 元信息监控
  • 流处理
  • 事件源
  • 持久性日志(commit log)

kafka高级特性

消息事务

  • 最多一次:最多被传输一次,也有可能一次不传输,消息不会被重复发送
  • 最少一次:最少被传输一次,也有可能被重复传输,消息不会被漏送
  • 精确一次:每个消息都传输一次而且仅仅被传输一次,不会漏送和多送

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值