首页 > 其他分享 >两种消息传递模式:发布订阅模式,排队模式

两种消息传递模式:发布订阅模式,排队模式

时间:2024-09-12 16:39:34浏览次数:9  
标签:订阅 消费者 排队 模式 Kafka 消息 消息传递

Kafka 是一种分布式流处理平台,支持多种消息传递模式,其中最主要的两种模式是发布-订阅(Pub-Sub)和排队(Queueing)。具体来说,Kafka 的设计和实现允许它灵活地支持这两种模式。

发布-订阅(Pub-Sub)模式
在 Kafka 中,主题(Topic)是发布-订阅模式的核心概念:

Producer(生产者)将消息发布到一个或多个主题。
Consumer(消费者)可以订阅一个或多个主题,接收和处理这些主题中的消息。
每个消息可以被多个消费者组(Consumer Group)接收和处理。
在发布-订阅模式下,不同的消费者组可以独立地消费同一个主题中的消息。例如,如果有两个不同的消费者组订阅了同一个主题,那么每个消费者组都会接收到所有的消息。

排队(Queueing)模式
Kafka 也支持排队模式,这主要通过消费者组的机制实现:

一个消费者组中的多个消费者可以共同消费一个主题。
每个分区(Partition)内的消息只会被同一个消费者组中的一个消费者消费。这样,消息在消费者组内是负载均衡的,每条消息只会被一个消费者处理。
在排队模式下,当多个消费者属于同一个消费者组时,Kafka 会确保每个分区的消息只被该组中的一个消费者处理,从而实现任务分配和负载均衡。

小结
发布-订阅模式:在 Kafka 中,通过主题和消费者组的机制,可以实现一个消息被多个消费者组消费,适用于广播和通知等场景。
排队模式:通过消费者组内的负载均衡机制,可以实现每条消息只被一个消费者处理,适用于任务分配和负载均衡等场景。
Kafka 的灵活设计使得它能够很好地支持这两种模式,用户可以根据具体需求选择合适的使用方式。

标签:订阅,消费者,排队,模式,Kafka,消息,消息传递
From: https://www.cnblogs.com/zqlmianshi/p/18410526

相关文章

  • 搭建线上扭蛋机小程序,企业新的盈利模式?
    近几年,随着市场对潮玩商品的需求不断增加,越来越多的资本入局到潮玩市场,因此,扭蛋机也开始在市场中持续走红,扭蛋机的各种创新玩法,也刺激着消费者的购买欲望,推动市场的发展。扭蛋机的目标群体主要是年轻人,具备较高的消费能力,同时当下年轻人的消费习惯主要集中于线上,这也为扭蛋机的转型......
  • Edge浏览器设置夜间模式/深色模式
    问题背景普通白色背景感觉有点刺眼,想改成深色背景,但是默认的设置里面只能修改边框的颜色:这里虽然设置界面和边框变成了黑色的,但是实际上打开网页还是白色的。全局配置在Edge浏览器打开edge://flags/,然后搜索DarkMode,从中选取对应的模式,可以直接Enable,我使用的配置为:配......
  • 信号发生器在扫描模式下输出正弦波信号,示波器呈现的波形显示异常与不理想,这是为什么
    如下图所示,在信号发生器扫描模式下输出正弦波信号,示波器呈现出的波形显示“异常”“不理想”情况,其原因可能与以下因素有关:1、扫描速度与示波器刷新率不匹配如果信号发生器的扫描速率(频率变化速度)与示波器的时间基准或刷新率不同步,示波器可能无法正确显示动态变化的频率信号......
  • 57.C文件操作有关常用函数和模式整理
    为方便而有所整理数据文件分为文本文件二进制文件求速且生成文件较小则用二进制文件保存数据若要无须经过任何转换就可看到内容用文本文件保存数据FILE*gao=fopen("C:\\Users\\Desktop\\gao.txt","模式");fopen两个参数1个要打开文件的路径2打开的模式方式......
  • 常见设计模式
    设计模式是一种在软件开发中常用的解决特定问题的通用方法。它们提供了一种标准化的方式来构建和组织代码,提高代码的可重用性和可维护性。以下是一些常见的设计模式,通常可以分为三大类:创建型、结构型和行为型。1.创建型模式这些模式主要关注对象的创建过程。单例模式(Singlet......
  • python单例模式
    单例模式(SingletonPattern)是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点。Python中实现单例模式有多种方法,以下是几种常见的实现方式:1.使用模块最简单的单例实现是利用Python的模块特性,因为模块在第一次导入时会被初始化,并且后续导入将返回相同的模块对象。......
  • UNO 设置平台进入全屏窗口模式的方法
    本文记录在UNOPlatform的桌面窗口项目里,进入和退出全屏窗口的方法,此方法包括UNO的WPF和GTK和WinUI版本的实现在2024.06的5.2.139的UNO版本里面,可通过如下简单方法进入全屏Microsoft.UI.Xaml.Windowwindow=...window.AppWindow.SetPresenter(AppWindowPrese......
  • RabbitMQ的队列模式你真的懂吗
    0前言官网描述六类工作队列模式:简单队列模式:最简单的工作队列,一个消息生产者,一个消息消费者,一个队列。另称点对点模式工作模式:一个消息生产者,一个交换器,一个消息队列,多个消费者。也称点对点模式发布/订阅模式:无选择接收消息,一个消息生产者,一个交换器,多个消息队列,多个消费者......
  • 技术成神之路:设计模式(十三)访问者模式
    介绍访问者模式(VisitorPattern)是一种行为型设计模式,它允许你在不改变对象结构的前提下,定义作用于这些对象的新操作。这种模式通过将操作逻辑从对象结构中抽离出来,使得新的操作可以无缝地添加到现有对象中。1.定义访问者模式定义了一个访问者接口,它包含了访问不同元素的操作方法。......
  • 适配器设计模式
    设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解解、保证代码可靠性、程序的重用性。简单理解:设计模式就是各种套路。适配器设计模式:解决接口与接口实现类之间的矛盾问题如......