认识Kafka

89 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第18天,点击查看活动详情

   Kafka基本概念

image.png

Kafka的介绍

Apache Kafka是分布式发布-订阅消息系统(消息中间件)。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。

就像是一个放鸡蛋的篮子。生产者生产鸡蛋放到篮子中,消费者从篮子中消费鸡蛋。

消息系统

Kafka的优势

Kafka就是一个分布式的用于消息存储的消息队列。一般用于大数据的流式处理中。

一些常见的中间件:ActiveMQ,IBMMQ,RabbitMQ,ZMQ 但都不是分布式的。

Apache Kafka与传统消息系统相比,有以下不同:

它是分布式系统,易于向外扩展。

它同时为发布和订阅提供高吞吐量。

它支持多订阅者,当失败时能自动平衡消费者。

它将消息持久化到磁盘,因此可用于批量消费,允许多个消费者消费数据。

消息队列的两种模式

1、点对点模式(一对一,消费者主动拉取数据,消息收到后清除)。

2、发布订阅模式(一对多,消费者消费数据之后不会删除,数据可以被多个消费者使用)。有两种消费方式,一种是消费者主动拉取操纵,好处是速度可以自己控制,坏处是要维护一个常轮询,不断询问队列是否有新数据产生;另一种是消息队列推送数据,消费者的消费能力不一样,没法根据不同的消费者提供不同的推送速度。