kafka 消费模式&基础架构

kafka 消费模式 &基础架构

Survive by day and develop by night.

talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.

happy for hardess to solve denpendies.

目录

概述

kafka消费模式

需求:

设计思路

实现思路分析

1.kafka 消费模式

Kafka提供了两种主要的消费模式:发布-订阅模式和分区模式。

  1. 发布-订阅模式:在这种模式下,一个消息可以被多个消费者同时消费。每个消费者都独立地读取消息,并且不会影响其他消费者。这种模式非常适用于需要广播消息的场景,例如实时日志和即时通讯等。

  2. 分区模式:在这种模式下,消息被划分为多个分区并存储在不同的Kafka主题中。每个分区只能由一个消费者组中的一个消费者消费。这样可以保证同一个分区的消息按顺序被消费,并且可以进行负载均衡。这种模式适用于需要保证消息顺序和处理吞吐量的场景,例如订单处理和数据仓库等。

Kafka还支持多种消费者组合消费模式的组合,例如多个消费者组同时消费同一个主题,或者多个消费者组按分区消费同一个主题。这些模式可以根据具体的业务需求来选择。

基础架构

Kafka 是一个分布式流数据平台,用于高吞吐量、低延迟的处理大规模数据流。它具有以下基础架构组件:

  1. Producer(生产者):生产者负责将数据发布到 Kafka 集群。它可以将数据发送到指定的 topic 中。

  2. Consumer(消费者):消费者从 Kafka 集群中订阅一个或多个 topic,并消费流入的数据。消费者可以以不同的方式进行消费,如批量消费、实时消费等。

  3. Broker(代理服务器):Broker 是 Kafka 集群中的核心组件,负责接收和处理 Producer 发送的消息,并将消息持久化到磁盘中。每个 Broker 都是一个独立的服务器节点,多个 Broker 组成一个 Kafka 集群。

  4. Topic(主题):Topic 是消息的逻辑容器,类似于消息队列中的主题或频道。Producer 发布的消息会被发送到指定的 topic 中,而 Consumer 订阅的 topic 中的消息会被消费。

  5. Partition(分区):每个 topic 可以被分为多个分区,每个分区都是有序的、不可变的消息序列。分区可以分布在不同的 Broker 上,以实现负载均衡和容错。

  6. Replication(副本):Kafka 使用副本机制来提供数据的可靠性和容错性。每个分区都有多个副本,其中一个是 leader,负责处理客户端的读写请求,其他副本则充当 follower,用于备份数据和提供容错。

  7. Consumer Group(消费者组):Consumer Group 是一组共享相同消费逻辑的 Consumer 实例。当多个消费者加入同一个 Consumer Group 时,它们会协调消费 topic 中的分区,以实现负载均衡和并行处理。

  8. ZooKeeper:Kafka 使用 ZooKeeper 来管理和协调集群中的 Broker、Producer 和 Consumer。它负责维护集群的元数据,监控 Broker 的状态,并通知各个组件的变化。

以上是 Kafka 的基础架构组件,它们共同协作,实现了高性能、可扩展的数据流处理能力。

基础架构2:

  1. Producer(生产者):负责将消息发布到 Kafka 集群。Producer 将消息分发到指定的 Topic(主题)。每个消息包含一个键和一个值。

  2. Topic(主题):是消息发布的类别或者频道。Producer 可以将消息发布到一个或者多个主题。

  3. Consumer Group(消费者组):由一组消费者实例组成。每个消费者实例会订阅一个或多个主题,并从中消费消息。

  4. Broker(代理服务器):Kafka 集群由多个 Broker 组成,每个 Broker 负责存储和管理一部分主题的消息。Broker 之间会进行数据副本的同步,以实现高可用性。

  5. ZooKeeper:Kafka 使用 ZooKeeper 来进行集群管理和协调。ZooKeeper 负责存储关于 Broker、Topic 和 Consumer Group 等元数据信息,并协助进行故障恢复。

  6. Consumer(消费者):消费者以 Consumer Group 的形式订阅一个或多个主题,并从其中消费消息。每个消费者实例只会消费 Consumer Group 中的一个分区。

  7. Partition(分区):主题可以被分为一个或多个分区,每个分区是有序且独立存储的。分区在多个 Broker 之间进行数据副本的同步,以提高可用性和吞吐量。

参考资料和推荐阅读

参考资料
官方文档
开源社区
博客文章
书籍推荐

  1. 暂无

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!同时,期望各位大佬的批评指正~,如果有兴趣,可以加文末的交流群,大家一起进步哈

相关推荐
qq_124987075314 小时前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
ask_baidu14 小时前
KafkaUtils
kafka·bigdata
洛豳枭薰16 小时前
消息队列关键问题描述
kafka·rabbitmq·rocketmq
lucky670716 小时前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq
Coder_Boy_16 小时前
基于Spring AI的分布式在线考试系统-事件处理架构实现方案
人工智能·spring boot·分布式·spring
袁煦丞 cpolar内网穿透实验室17 小时前
远程调试内网 Kafka 不再求运维!cpolar 内网穿透实验室第 791 个成功挑战
运维·分布式·kafka·远程工作·内网穿透·cpolar
岁岁种桃花儿17 小时前
CentOS7 彻底卸载所有JDK/JRE + 重新安装JDK8(实操完整版,解决kafka/jps报错)
java·开发语言·kafka
人间打气筒(Ada)18 小时前
GlusterFS实现KVM高可用及热迁移
分布式·虚拟化·kvm·高可用·glusterfs·热迁移
xu_yule18 小时前
Redis存储(15)Redis的应用_分布式锁_Lua脚本/Redlock算法
数据库·redis·分布式