kafka学习笔记一(kafka基本概念)

  • kafka 简介
    kafka 是一个消息订阅转发分布式系统,由生产者(Producer)发送消息至 kafka,消费者(Consumer)订阅消息获取.
    可以想象成一个公众号,生产者将消息发送至公众号,消费者可以通过订阅公众号来获取信息.

  • kafka 有什么用处
    可以想象一下,在多个应用之间通信的情况下,只需要将所有消息下发至 kafka ,而接收方只需要订阅相应的主题(Topic),这样就可以减少很多重复的处理.
    如下图,多个应用之间需要通信,不使用 kafka 的情况下,通信链路非常复杂,重复工作也很多
    在这里插入图片描述
    那么,如果使用了 kafka 后就会变成这样
    在这里插入图片描述

  • kafka 基本概念
    1.节点(broker)
    一个 kafka 实例为一个节点,一个 kafka 集群由多个节点组成,每个 kafka实例都有唯一的 brokerid.
    2.消息
    消息可以理解为数据库中的一行数据,比如在 A 系统需要同步一条订单数据到 B 系统时,这条订单数据就是一个消息
    一条消息包含主题,分区,键,值
    3.主题(Topic)
    如上图所示,应用将消息发送至 kafka 时,怎么知道发送的是什么消息呢,这里就可以用主题来区分了,比如现在有个主题为订单 的 topic ,那么生产者在发送订单数据时,就知道是将订单数据发送至主题为订单的 topic,而订阅了主题为订单的消费者也就 能取到对应的订单数据了.
    4.分区(Partition)
    一个主题可以有多个分区,一个分区只属于一个主题,分区可以分布在不同节点上,所以一个主题是可以分布在不同节点上的.
    生产者发送消息可以指定发送至某个主题下的某个分区,如果未指定分区,分区器则会通过消息中的键来决定放在哪个分区
    5.生产者(Producer)
    生产者即负责生产消息的一方,比如在 A 系统需要同步一条订单数据到 B 系统时,生产者即将消息发送的 A 系统
    6.消费者(Consumer)
    消费者即订阅消息的一方,比如在 A 系统需要同步一条订单数据到 B 系统时,消费者即订阅消息的 B 系统
    7.偏移量(offset)
    在消息发送时就会分配一个特定的偏移量,该偏移量在分区里是唯一的,偏移量并不跨越分区,所以 Kafka 保证的是分区内有序而不是主题内有序.偏移量也可以理解为在该分区里是第几个消息的标识
    8.Zookeeper
    kafka 使用zookeeper做注册中心

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值