温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
本节课我们来讨论一下kafka的体系架构。Kafka是由Apache软件基金会开发的一个开源流处理平台,它是一种高吞吐量的分布式发布订阅消息系统。它具有以下的特点,一、高吞吐量kafka每秒可以处理数以千计的消息。2、支持数据的持久化。Kafka使用分布式提交日志,消息被写入到本地磁盘,以保证数据的持久性。3、支持数据并行处理。Kafka的topic由分区组成,每个分区被不同的节点处理,这样的设计允许kaf并行处理数据。4、容易向外扩展,Kaf克允许添加更多的服务器到集群中。5、支持数据复制kafka支持数据复制,可以跨数据中心进行数据的复制。6、支持实时处理。KA可以与流处理框架集成,如Spark和flink已进行实施处理,了解到了基本的知识后,下面详细讨论一下卡F克的体系架构。在卡F克的体系架构中,主要包含两种不同的角色。
01:00
色。1、生产者producer,它负责生产消息,消息可以是字符串,也可以是对象。在Kaf克集群中可以有多个生产者。2、消费者consumer,它负责消费处理消息。如前面提到的Spark和flink都可以看成是kafka的消费者。Kafka采用消费者组管理消费者,例如这里有两个消费者组,消费者组1和消费者组2。消费者组1中包含两个成员,消费者组2中包含一个成员。在一个kaf克集群中可以包含多个message server, 这里可以将message server看成是一个物理机,在每一个message server上可以运行一个或者多个broker。同一个集群中的broker具有不同的ID号,例如这里的BROKER0BROKER1、BROKER2BROKER是真正用于接收生产者消息,将消息持久化存储并最终将消息转发给消费者的组件kafka需要将其源信息存储在zooukeeper中。但从2.8版本开。
02:00
使kafka逐步放弃对zookeeper的依赖,生产者将消息发布到broker上,消费者从broker上订阅消息。由于Kafka只支持KA类型的广播消息,且同一个分区中的消息只能被一个消费者组中的一个成员消费处理。例如,当消费者组1中的消费者A消费处理了一条消息,那么消费者B就不能消费处理该条消息了,但该条消息任可以被消费者C消费处理。当消费者A出现了宕机的情况,消费者B可以接替消费者A进行消息的消费处理。通过这样的方式实现了消费者的高可用功能。现在你已经知道kafka的体系架构了,那你知道卡夫克的数据模型吗?欢迎评论区留言讨论好了记得点加号关注赵玉强老师。
我来说两句