什么是从RabbitMQ并行和按顺序消费“主题”消息批次的最佳方式是什么?消费RabbitMQ消息与订单和上下文
我们有一个服务器为许多客户处理数据。每次处理客户的数据时,都会将一堆消息发送给RMQ。另一方面,我们有一个消耗数据并将其存储在数据库中的进程。
消费过程缓慢,我们想要并行化并使其可扩展。问题是单个客户的数据不能同时由两个消费者处理。 生产者现在可以随时运行,并且可以将消息添加到队列中,即使对于队列中已有消息的客户也是如此。
其中一个建议是创造,如果它正在处理数据,将每个客户指定的新的数据库表。消费者只会向未被其他消费者处理的消费者索要消息,并且会在该消费者的数据库中注册自己。
我不愿意使用的解决方案,因为它需要连接到数据库,并在数据库中保存运行时的状态。
我希望能找到,可能我们的消费者/生产商代码和RMQ范围内处理的解决方案。
有人建议,有书面下客户RMQ“主题”,并有消费者的短信读取一个“主题”。消息将被添加到每个批次或客户消息的单独队列(或“主题”)。消费者将消费“顾客”消息并使用其数据从主队列中选择“主题”。
问题是,当制片人希望将新数据添加到主队列为已经在当前正在处理的主队列数据的客户,会发生什么。
我们如何同步RMQ的产量?
您是否尝试过使用交易?我对他们没有第一手经验,但看起来你在寻找什么(只要这些消息来源于同一个制作人会话) – SJuan76