多个消息队列还是每个应用程序一个?

问题描述 投票:0回答:1

我需要一个排队系统来帮助应用程序处理不同类型的作业。工作示例是:

  • 处理视频
  • 处理图像
  • 发送交易电子邮件
  • 更新信息

将来可能会有更多,但目前这是主要部分。我到处搜索消息队列的示例,但只找到有关消息队列如何工作的一般信息(Kafka、RabbitMQ 等)。

我想知道的是,因为每种类型的作业/消息(视频编码、图像调整大小等)都非常不同,并且每个作业都有不同的元信息(视频将显示编解码器、分辨率、比特率,而图像具有 JPEG 质量或透明度),它们是否被放置在不同的队列中?

或者单个队列中的每个作业都具有该作业的唯一元数据,这并不重要?

apache-kafka architecture rabbitmq queue messaging
1个回答
0
投票

我会回答关于卡夫卡的问题,尽管我认为在这种情况下它并不那么重要,所以这并不重要。

你真的可以在一个Kafka主题中写入任何消息,因为经纪人本身并不关心,对他来说这只是一组字节。键、值和标头的序列化、反序列化和解析将由客户端处理。

这表明最好至少通过一些逻辑参数来分隔主题,在您的情况下是不同的“作业”,并且还提供某些方案,以便客户端在处理消息时更容易工作。更不用说我们如何用一个通用“队列”来扩展系统,迟早它会成为瓶颈。一般来说,消息代理的设计方式是与多个队列一起工作(在 Kafka 中具有分区和日志)。

© www.soinside.com 2019 - 2024. All rights reserved.