登录社区云,与社区用户共同成长
邀请您加入社区
角色定义主要职责Producer(生产者)向 Kafka 主题发布消息的应用程序创建消息、序列化、选择分区、发送到 BrokerConsumer(消费者)从 Kafka 主题订阅并处理消息的应用程序订阅主题、拉取消息、处理数据、提交偏移量维度ProducerConsumer核心任务发布消息到 Topic从 Topic 订阅消息关键机制分区器、批处理、重试消费者组、偏移量、重平衡可靠性保证acks
Partition(分区)是 Kafka 中消息的物理存储单元。每个 Topic 可以被划分为多个 Partition,每个 Partition 是一个有序的、不可变的消息序列,并以日志文件的形式存储在磁盘上。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;hei
当出现网络的瞬时抖动时,消息发送可能会失败,此时配置了retries > 0的Producer能够自动重试消息发送,避免消息丢失。如果一个Broker落后原先的Leader太多,那么它一旦成为新的Leader,必然会造成消息的丢失。其实这里想表述的是,最好将消息多保存几份,毕竟目前防止消息丢失的主要机制就是冗余。从Kafka架构来看,理论上仍有消息丢失的可能性,但实际发生的概率极低,只有在所有副本