Kafka的组成

一、服务器硬件依赖部分
1.kafka为分布式,需依赖多台服务器
2.每台机器为一台broker
3.一台broker对应多topic队列
4.一topic队列可切成多partition队列
5.partition包含segment
6.segemnt由.log和.index文件构成,index搜,log存
(7.每个partition内有多个分区,分区内有副本机制。以主从形式对其进行备份)

二、逻辑部分
1.生产者:source,拉数据
2.消费者:sink,消费数据
3.消费者组: 多消费者组成,组内每个消费者消费不同partition分区。不同组的消费者可以消费同一个partition

三、完整性部分
1.容灾:以partition为单位保存副本,副本包含一个leader和多个follower
2.leader:生产者往这里发数据,消费者从这消费数据,副本里的大哥
3.follower:副本里的弟弟,实时保持和leader的同步,leader故障它就上当大哥

关于队列:
1.点对点:生产 -> 消费,消费完就没
2.订阅/发布:生产 -> channel -> 消费,消费者谁要谁从channel中拉,马上消费完还存着

数据可靠性:
partition收到消息后向producer返回ack
0 :未接收消息即返回
1 :leader落盘返回
-1:全部follower落盘返回

拦截器:
实现数据的增删改的,实现接口,加个时间戳,统计某个值都ok、

分区器:
实现partition接口,设置不同数据进入哪个不同的分区

监控器:
8084web上自己看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache Kafka 是一个分布式流处理平台,主要用于构建实时数据管道和数据流应用。Kafka 的主要组成部分包括: 1. **Broker( broker)**:Kafka 的核心组件,负责存储和分发消息。每个 Broker 都有多个分区(partition),这些分区是有序的消息队列。Broker 通过网络接收生产者发送的消息,并将其复制到多个副本,提供高可用性和容错性。 2. **Producer(生产者)**:将数据发布到 Kafka 系统的应用,Producer 将消息打包成消息批次(message batch),然后发送给 Broker。Producer 可以设置消息的持久化级别,以及是否立即发送到所有副本。 3. **Consumer(消费者)**:从 Kafka 中消费数据的应用,它可以订阅主题(topic)并获取消息。Consumer 通常按照消息的顺序进行消费,并可以选择消费模式,如拉取(pull)或推送到(push)。 4. **Topic(主题)**:Kafka 中的消息分类容器,每个 Topic 可以有多个分区。主题用于组织和分发数据,生产者将消息发送到 Topic,消费者则从 Topic 中订阅消息。 5. **Partition(分区)**:每个 Topic 下的逻辑分段,分区内部的消息是有序的。分区数量可以根据性能需求进行配置,有助于提高吞吐量和扩展性。 6. **Metadata(元数据)**:Kafka 存储关于 Broker、Topic 和 Partition 状态的信息,包括哪些 Broker 拥有哪些分区的副本。 7. **Zookeeper(可选)**:虽然 Kafka 本身可以管理一些元数据,但通常会使用 ZooKeeper 作为外部协调服务,用于集群管理、节点发现和配置管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值