前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >kafka入门

kafka入门

作者头像
用户7353950
发布2022-05-10 20:33:36
发布2022-05-10 20:33:36
2100
举报
文章被收录于专栏:IT技术订阅IT技术订阅

什么是消息队列?

存储数据的队列,借助消息队列可以做到异步、解耦、削峰。

kafka是消息队列模型是怎么样的?

Producer(生产者) : 产生消息的一方。 Consumer(消费者) : 消费消息的一方。 Broker(代理) : 可以看作是一个独立的 Kafka 实例。多个 Kafka Broker 组成一个 Kafka Cluster。 同时,你一定也注意到每个 Broker 中又包含了 Topic 以及 Partion 这两个重要的概念: Topic(主题) : Producer 将消息发送到特定的主题,Consumer 通过订阅特定的 Topic(主题) 来消费消息。 Partion(分区) : Partion 属于 Topic 的一部分。一个 Topic 可以有多个 Partion ,并且同一 Topic 下的 Partion 可以分布在不同的 Broker 上,这也就表明一个 Topic 可以横跨多个 Broker 。

同时需要注意的点:

上图中如果消费者组中的某个消费者挂了,那么其中一个消费者可能就要消费两个partition了 如果只有三个partition,而消费者组有4个消费者,那么一个消费者会空闲 如果多加入一个消费者组,无论是新增的消费者组还是原本的消费者组,都能消费topic的全部数据。(消费者组之间从逻辑上它们是独立的)

消息队列中有内部的topic,存储各个消费者的消费进度

image.png

Kafka 中发送 1 条消息的时候,可以指定topic, partition, key,data(数据) 4 个参数。如果你发送消息的时候指定了 partion 的话,所有消息都会被发送到指定的 partion。并且,同一个 key 的消息可以保证只发送到同一个 partition,这个我们可以采用表/对象的 id 来作为 key 。

怎么保证消息的有序?

1.1 个 Topic 只对应一个 Partion 2.(推荐)发送消息的时候指定 key/partion。

消息队列的持久化与高可用

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术订阅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是消息队列?
  • kafka是消息队列模型是怎么样的?
    • 同时需要注意的点:
  • 消息队列中有内部的topic,存储各个消费者的消费进度
  • 怎么保证消息的有序?
  • 消息队列的持久化与高可用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档