1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

kafka架构原理

kafka架构原理

小本本的介绍

小本本是本际云服务器推荐网的小编,专注于分享各种IT技术干货,今天为大家介绍kafka架构原理。

Kafka的架构原理

Kafka是一种高吞吐量的分布式发布订阅消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景。Kafka采用分布式、支持分区、多副本和基于zookeeper协调的架构,使得其具有以下特点:

  • 持久化:消息永久保存并支持大规模数据
  • 高性能:高吞吐量,支持并行处理
  • 可扩展性:支持横向扩展,轻松应对日益增长的数据量
  • 容错性:支持多副本备份和自动恢复

2.1 基础架构与名词解释

在Kafka的架构中,有以下主要术语:

  • Producer:消息的生产者,是消息的入口
  • Broker:Kafka实例,每个服务器上有一个或多个Kafka的实例
  • Topic:消息的主题,可以理解为消息的分类
  • Partition:Topic的分区,分区的作用是做负载,提高Kafka的吞吐量
  • Replication:每个分区都有多个副本,副本的作用是做备胎
  • Message:每一条发送的消息主体
  • Consumer:消息的消费者,是消息的出口
  • Consumer Group:多个消费者组成一个消费者组,在Kafka的设计中同一个分区的数据只能被消费者组中的某一个消费者消费
  • Zookeeper:Kafka集群依赖Zookeeper来保存集群的元信息,来保证系统的可用性

2.2 工作流程分析

2.2.1 发送数据

Producer在写入数据的时候永远的找leader,不会直接将数据写入follower。在生产者向队列写入数据的时候可以设置参数来确定是否确认kafka接收到数据,保证消息不丢失是一个消息队列中间件的基本保证。

2.2.2 保存数据

Kafka将数据保存在磁盘,采用分段+索引的方式来解决查找效率的问题,保证查找特定消息的时间复杂度为O(1)。

2.2.3 消费数据

Kafka采用pull的方式,消费者主动的去Kafka集群拉取消息。同一个消费组的消费者可以消费同一topic

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6557.html