kafka的简单介绍

1. kafka是apache开源的消息队列

2. 消息队列有什么好处?

  1. 解耦:在消费者和生产者两端均设置一个相同的接口,两边都实现接口。
    防止消费者因为生产者数据量太大,导致访问数据库的次数大大增加,而导致系统崩溃。
  2. 削峰,峰值处理能力
  3. 顺序保证,每个topic内部是有序的
  4. 缓冲:消息队列通过一个缓冲层来帮助任务最高效率的执行(写入队列的处理会尽可能的快),该缓冲有助于控制和优化数据经过系统的速度。
  5. 异步通信:允许用户把一个消息放入队列,但并不立即处理掉他。想向队列中放入多少消息就放入多少,然后再需要的时候再去处理他们。

3. 常见的消息队列内部实现原理

(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)
点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端。这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此。
(2)发布/订阅模式(一对多,数据生产后,推送给所有订阅者)
发布订阅模型则是一个基于推送的消息传送模型。发布订阅模型可以有多种不同的订阅者,临时订阅者只在主动监听主题时才接收消息,而持久订阅者则监听主题的所有消息,即使当前订阅者不可用,处于离线状态。

4. Kafka组成

  1. 生产者producer----生产消息给kafka
  2. 消费者consumer----消费Kafka中的数据
  3. broker----一台kafka服务器
  4. topic主题----生产者生产的数据是给topic的,一个kafka服务器上,可以存在多个topic服务
  5. partition----topic底层是分区存放数据的
  6. consumerGroup -----消费者组,可以实现多个消费者处理同一个topic数据
posted @ 2022-09-06 17:49  jsqup  阅读(23)  评论(0编辑  收藏  举报