服务时间:8:30-18:00

首页 >java学习网

Kafka的消息传递模式

发布时间:2023-02-20 19:04 字数:521字 阅读:189

Kafka的消息传递模式,Kafka中最重要的功能就是分布式消息传递,分布式消息传递主要基于可靠的消息队列来实现的,负责在客户端应用和消息系统之间异步传递消息。

目前主要有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。大部分的消息系统都使用发布-订阅模式。Kafka也使用发布-订阅模式来实现其功能的。

下面重点介绍这两种模式的区别。

(1)点对点传递模式。

这种模式使用消息队列来实现的,而且有一个或多个消费者消费队列中的数据。但是一个消息只能被一个消费者消费。当一个消费者消费了队列中的某条数据之后,这条数据就会从队列中删除。处理模式如图1所示。

Kafka的消息传递模式

图1 点对点传递模式

(2)发布-订阅消息传递模式

使用发布-订阅消息模式后,生产者生成的数据会被持久化到一个Topic中。与点对点消息系统不同的是,消费者可以订阅一个或多个Topic,消费者可以消费该Topic中所有的数据,同一条数据可以被多个消费者消费,数据被消费后不会立即删除。

在发布-订阅消息系统中,消息的生产者被称为发布者,消费者称为订阅者。该模式的示例如图2所示。

发布-订阅模式

图2 发布-订阅模式

发布者发送到Topic的消息,只有订阅了Topic的订阅者才会收到消息。