消息队列之Kafka

什么是Kafka

消息队列的一种,类似的还有RabbitMQ,RocketMQ。

几个概念

  • 生产者:产生消息,并发送到指定主题。
  • 消费者:从主题中拉取消息并消费。
  • 主题(topic):用于管理一类消息,逻辑划分。
  • 分区:主题可以由一个或多个分区组成,这是实际的物理划分。
  • 缓存代理(broker):用来管理消息的服务器,一个主题可以有多个分区,每个分区可以分布在不同的broker上,因此一个分区也可以有多个不同主题的分区。
  • 集群:集群中包含多个broker。
  • 偏移量(offset):每个消息在分区内的编号,用来区分不同的消息。
  • 组(group):每个消费者都必须指定一个组,组不用创建,直接指定就可以了。我们可以利用组来实现单播和多播,因为一个消息只能被一个组拉取一次。
  • 复制:分区可以进行复制,分布在多个broker上,提高了容错性。
  • 领导者、追随者:当这些broker都可以用时,选择其中一个broker里的分区作为leader,其他作为follower。leader负责提供服务,follower只用来复制备份。

Kafka优点都有啥

  1. 高吞吐量,能处理大量数据。
  2. 低延迟。
  3. 容错性好,集群中一个节点异常不影响整个系统。
  4. 耐久性好,数据可以复制不会丢失。

你可能感兴趣的:(消息队列之Kafka)