有没有办法保证订阅者按照发布的顺序读取活动?我现在正在使用环回队列,这有关系吗?
我有一个控制台模拟器,它将控制台输出行作为事件发送。我可能要等到命令结束才能将所有结果作为一个单元返回,但是“telnet”之类的交互式命令将无法实现。
问题是,有时候,当结果集很长时(比如“dir”命令),某些行显得有些错位。输出似乎以正确的顺序发布。
答案 0 :(得分:0)
虽然技术上环回应该作为其工作原理的顺序排列,但如果您有多个线程读取或写入,则无法保证顺序。
此外,loopback实际上仅用于测试。它不是真正的产品就绪界面。
您可以使用Saga来保存邮件的内容,直到您按正确的顺序收到邮件。这将消除订购问题。还要考虑确保您的消费者的ConcurrentConsumerLimit
为1,因此只有一个线程从队列中读取。