架构师之 Kafka 核心概念入门

Kafka 核心概念

作为架构师,理解 Kafka 的核心概念至关重要。这些概念是构建高效、可靠的 Kafka 系统的基础。
以下是需要掌握的 Kafka 核心概念及其详细说明:

1. Topic

  • 定义:Topic 是 Kafka 中用于存储和分类消息的逻辑命名空间。每个 Topic 代表一类数据流,
    例如日志、交易记录等。

  • 作用:通过 Topic,可以将不同类型的消息分开,方便管理和消费。

  • 操作:创建、删除和列出现有的 Topic。

    # 创建一个新的 Topic
    kafka-topics.sh --create --topic my_topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 2
    
    # 列出所有 Topic
    kafka-topics.sh --list --bootstrap-server localhost:9092
    
    # 删除一个 Topic
    kafka-topics.sh --delete --topic my_topic --bootstrap-server localhost:9092
    

2. Partition

  • 定义:Partition 是 Topic 的子集,是一个有序的、不可变的消息队列。每个 Partition 可以存储多个消息。
  • 作用:通过 Partition,可以实现消息的并行处理,提升系统的吞吐量。
  • 操作:创建 Topic 时指定 Partition 数量,或者在现有 Topic 上增加 Partition。
    # 增加现有 Topic 的 Partition 数量
    kafka-topics.sh --alter --topic my_topic --partitions 5 --bootstrap-server localhost:9092
    

3. Offset

  • 定义:Offset 是 Partition 中每条消息的唯一标识。Offset 是一个递增的整数,用于定位和跟踪消息。
  • 作用:通过 Offset,可以确保每条消息在消费时的顺序和位置。
  • 操作:消费者通过 Offset 跟踪消费进度,支持自动和手动提交 Offset。
    // 消费者配置示例
    Properties props = new Properties();
    props.put("bootstrap.servers", "localhost:9092");
    props.put("group.id", "test_group");
    props.put("enable.auto.commit", "true");
    props.put("auto.commit.interval.ms", "1000"
  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值