# 1. kafka

Apache Kafka 是一款开源的消息引擎系统,也是一个分布式流计算平台,还可以作为数据存储。

# 1.1 kafka 的功能

  • 消息引擎:kafka 可以作为一个消息引擎系统,可以发布和订阅消息
  • 流处理:kafka 可以作为一个分布式流处理平台,可以处理流数据
  • 存储:kafka 可以作为一个分布式存储系统,可以存储消息

# 1.2 kafka 的架构

kafka-architecture

# 1.3 kafka 的组件

  • Broker:kafka 的节点,kafka 的基本单元,可以存储和转发消息。一个 kafka 集群由多个 broker 组成。
  • Topic:消息的分类,可以存储和转发消息,每条消息都属于一个特定的 topic,用户通过 topic 来组织和管理消息。一个 topic 可以有多个 partition。
  • Partition:消息的存储单元,可以存储和转发消息。一个 partition 可以有多个 replica。
  • Consumer:消息的消费者,可以消费消息。一个 consumer 可以有多个 consumer group。
  • Consumer Group:消费者组,可以消费同一个 topic 的消息。一个 consumer group 可以有多个 consumer。每条消息只能被同一 Consumer Group 中的一个 Consumer 消费。
  • Producer:消息的生产者,可以生产消息,将消息发送到指定的 topic。
  • Producer Group:生产者组,可以生产同一个 topic 的消息。一个 producer group 可以有多个 producer。

# 1.4 kafka 的原理

  • Kafka 的原理是基于分布式系统的,通过多个 broker 组成一个 kafka 集群,通过 topic 来组织和管理消息,通过 partition 来存储和转发消息,通过 consumer group 来消费消息,通过 producer 来生产消息。

# 1.5 kafka 的优缺点

  • 优点:
    • 高吞吐量:kafka 可以支持每秒百万级别的消息量
    • 高可靠性:kafka 可以保证消息的可靠性,通过 replica 来保证消息的可靠性
    • 高扩展性:kafka 可以支持横向扩展,通过增加 broker 来增加吞吐量
    • 高灵活性:kafka 可以支持多种消息模型,通过 topic 来组织和管理消息
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

ZJM 微信支付

微信支付

ZJM 支付宝

支付宝