Kafka

Kafka

  1. 消息系统
  • 点对点消息系统
  • 消息只能被一个消费者消费
  • 发布-订阅系统
  • 消费者可以订阅一个或多个主题并使用该主题中的所有消息
    简单的发布订阅系统
  1. Kafka
    Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点 ,Kafka消息保留在磁盘上,并在群集内复制以防止数据丢失。
  • kafka优点:
    • 可靠性 - Kafka是分布式,分区,复制和容错的。
    • 可扩展性 - Kafka消息传递系统轻松缩放,无需停机。
    • 耐用性 - Kafka使用分布式提交日志,这意味着消息会尽可能快地保留在磁盘上,因此它是持久的。
    • 性能 - Kafka对于发布和订阅消息都具有高吞吐量。 即使存储了许多TB的消息,它也保持稳定的性能。
  • 基础概念:
    kafka基础组件
    • topics: 特定类别的消息流统称为主题,数据存储在主题中。
    • partition:主题可能有很多分区,因此可以处理认以数量的数据。
    • partition offset: 每个分区消息具有称为 offset 的唯一序列标识。
    • Replicas of partition: 分区备份,备份从不写入或读取数据,只是为了防止数据丢失;
    • Brokers(经纪人):暂时不了解
    • Kafka Cluster(Kafka集群):Kafka有多个代理被称为Kafka集群。
    • Producers(生产者): 生产者是发送给一个或多个Kafka主题的消息的发布者。
    • Consumers(消费者): Consumers从经纪人处读取数据。 消费者订阅一个或多个主题,并通过从代理中提取数据来使用已发布的消息。
    • Leader(领导者): Leader 是负责给定分区的所有读取和写入的节点。 每个分区都有一个服务器充当Leader。
    • Follower(追随者): 跟随领导者指令的节点被称为Follower。
    • 工作流程:
      • Kafka只是分为一个或多个分区的主题的集合
        Kafka只是分为一个或多个分区的主题的集合。 Kafka分区是消息的线性有序序列,其中每个消息由它们的索引(称为偏移)来标识。 Kafka集群中的所有数据都是不相连的分区联合。 传入消息写在分区的末尾,消息由消费者顺序读取。 通过将消息复制到不同的代理提供持久性。
  • 队列消息/用户组的工作流
  • 订阅具有相同 Group ID 的主题的消费者被认为是单个组,并且消息在它们之间共享。 让我们检查这个系统的实际工作流程。
  • ZooKeeper的作用:
    • Zookeeper是Kafka代理和消费者之间的协调接口。 Kafka服务器通过Zookeeper集群共享信息。 Kafka在Zookeeper中存储基本元数据,例如关于主题,代理,消费者偏移(队列读取器)等的信息。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值