美文网首页
前瞻Kafka(一)

前瞻Kafka(一)

作者: zzj0990 | 来源:发表于2021-03-09 19:00 被阅读0次

    概述

    Kafka是一种分布式的,基于发布/订阅的消息系统。使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。

    框架

    Kafka.png
    术语
    • Broker:一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic,这种服务器被称为broker 代理、中介者

    • Topic:每条发布到Kafka集群的消息都有一个类别,这个类别被称为 Topic 主题

    物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处。
    新版本弥补了老版本的坑,offset可以交由Kafka内部的topic来维护,其内部默认的Partition是50个。

    • Partition:Parition是物理上的概念,每个Topic包含一个或多个Partition 分割、分区

    为了实现扩展性,一个非常大的topic可以分布到多个 broker(即服务器)上,一个topic可以分为多个partition,每个partition是一个有序的队列。
    partition中的每条消息都会被分配一个有序的id(offset)。kafka只保证按一个partition中的顺序将消息发给consumer,不保证一个topic的整体 (多个partition间)的顺序。

    • Producer:负责发布消息到Kafka broker

    • Consumer:消息消费者,向Kafka broker读取消息的客户端。

    Partition : Consumer
    1 : 1
    N : 1
    1 : N 是绝对不允许的
    Partition中的数据是可以重复被利用的
    在单一使用场景下,先要保证,即便是追求性能,用多个consumer,应该注意,不能一个分区被多个consumer消费

    数据的重复利用在站在Group上的,但是同Group内要遵循上述原则

    • Consumer Group:每个Consumer属于一个特定的Consumer Group

    可为每个Consumer指定group name,若不指定group name则属于默认的group

    • Zookeeper: Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance(动态负载均衡)。

    AKF

    AKF.png
    分布式:可靠性、可扩展、高性能
    • X轴:副本,解决分布式的可靠性的问题
    • Y轴:topic主题,各业务线数据,解决分布式的可扩展性的问题
    • Z轴:Partition分区,无关的数据分散到不同的分区里,解决分布式的高性能的问题

    总结

    1,Topic是逻辑上的,Partition是物理上的,Topic在逻辑上可以被认为是一个QUEUE,PUSH消息时必须指定Topic,可以理解为消息要推送到哪个 QUEUE,为了提高消息队列的高吞吐率,物理上把Topic分割成一个Partition或多个Partition
    2,作为一个消息系统,Kafka遵循了传统的方式,选择由Producer向broker push消息并由Consumer从broker pull消息
    3,Partition消息至Consumer是push? pull?
    push模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。push模式的目标是尽可能以最快速度传递消息,但是这样很容易造成Consumer来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而pull模式则可以根据Consumer的消费能力以适当的速率消费消息。
    对于Kafka而言,pull模式更合适。pull模式可简化broker的设计,Consumer可自主控制消费消息的速率,同时Consumer可以自己控制消费方式——即可批量消费也可逐条消费。
    4,Partition : Consumer ->>
    1 : 1
    N : 1
    1 : N 是绝对不允许的
    Partition中的数据是可以重复被利用的
    在单一使用场景下,先要保证,即便是追求性能,用多个consumer,应该注意,不能一个分区被多个consumer消费

    ———————————————————
    坐标帝都,白天上班族,晚上是知识的分享者
    如果读完觉得有收获的话,欢迎点赞加关注

    相关文章

      网友评论

          本文标题:前瞻Kafka(一)

          本文链接:https://www.haomeiwen.com/subject/akrbqltx.html