【消息队列】浅析Kafka的特点及底层运行机制

Kafka

官方文档:https://kafka.apache.org/documentation/#introduction
【消息队列】浅析Kafka的特点及底层运行机制_第1张图片

一、什么是Kafka

Kafka是一种基于发布/订阅模式分布式消息队列。它是用scala语言实现的,通信基于TCP,服务模式是基于Client/Server

【发布订阅】

  • 支持一对多,即一个消息可同时被多个消费者消费
  • 延申:一对一的模式指一个消息仅能被一个消费者消费

【分布式】

  • kafka以集群的方式存在

【消息队列】

  • 相当于生产者和消费者之间的消息中转站。

二、为什么要使用Kafka

1、存在什么实际问题

【实际问题1】
当生产者生产的速度和消费者消费的速度不一致时(通常是指生产速度大于消费速度的情况),具有木桶效应,谁处理的最慢,整体服务的性能就是最慢的那个速度。尤其是数据量特别大的时候,性能退化明显。

【实际问题2】
不同时间段,消息的生产速度是不一样的,时而多时而少。消费者提供的服务量是稳定不变的,当一下子涌来巨大的处理请求时,容易将

你可能感兴趣的:(kafka)