KAFKA的简单了解--大数据纪录片第九记

  Kafka是一个分布式发布-订阅消息系统和一个强大的队列,可以处理大量数据,使得一个消息可以从一个端点传递到另一个端点。Kafka非常适合离线和在线消息消费。Kafka将数据保存在磁盘上,并在集群内复制以防止数据丢失。Kafka构建在zookeeper的同步服务之上,它和storm和spark很好地集成,用于实时流式数据分析。今天就对Kafka的基础架构做一个了解。

  

  介绍一下架构中的主要成员以及其作用:

  1、Topic(主题):属于特定类别消息流称为主题,数据存储在主题中

  2、Partition(分区):主题被拆分成分区,对于每个主题,Kafka保存一个分区的数据。每个这样的分区包含不可变有序序列的消息。分区被实现为具有相同大小的一组分段文件。主题可能有很多分区,因此它可以处理任意数量的数据

  3、Partiton Offset(分区偏移):每个分区消息具有称为“offset”的唯一序列标识

  

  4、Replicas of Partition(分区备份):作为备份,从不读写数据,只是防止数据丢失

  5、Brokers(经纪人):代理是负责维护发布数据的简单系统。每个代理中的每个主题可以具有零个或多个分区。

    1、假设在一个主题上有N个分区和N个经纪人,每个经纪人将有一个分区

扫描二维码关注公众号,回复: 3836387 查看本文章

    2、假设在一个主题上有N个分区和N+M个经纪人,前N个经纪人一人一个分区,剩下的M个经纪人将不会分配到分区

    3、假设在一个主题上有N个分区和小于N个经纪人,每个经纪人将在它们之间具有一个或多个分区共享。由于代理之间的负载分布不相等,不推荐此方案

  6、Kafka Cluster(Kafka集群):Kafka有多个经纪人被称为Kafka集群

  7、Producer(生产者):生产者是发送给一个或多个生产者,生产者向Kafka经纪人发送数据,每当生产者将消息发送个经纪人时,经纪人只需将消息附加到最后一个段文件上。实际上,该消息将被附加到分区。生产者还可以向他们选择分区发送消息

  8、Consumer(消费者):消费者从经纪人处读取消息。消费者订阅一个或多个主题,并通过从经纪人中提取数据来使用已发布的消息

  9、Leader(领导者):领导者是负责给定分区的所有读取和写入的节点。每个经纪人(原文写的是分区,但是我觉得应该是经纪人)都有一个服务器当领导者

  10、Follower(跟随者):跟随领导者指令的节点称为追随者,如果领导者崩溃,一个追随者将自动成为新的领导者。跟随者最为正常的消费者,拉取消息并更新自己的数据存储

猜你喜欢

转载自www.cnblogs.com/qugemingzihaonan13/p/9884613.html