Rabbitmq采用自动确认机制后,单线程循环读取list数据后发送,为什么到达的顺序会错乱呢?
伪代码:
for(Gps gps: gpsList) {
rabbitTemplate.convertAndSend();
}
有人说amqp协议是异步协议,怎么理解?我了解到amqp是基于tcp应该能保证数据的顺序性的啊,比如socket不断发送数据,数据应该都是有序的,求大神指点迷津!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
消息list 属性要做一个排序机制,然后消费者根据排序机制消费消息,即可
最好不要用MQ做有顺序要求的程序,因为本身mq的意义是异步,且是基于事件模型的,不保证消息的顺序性。具体细节我也不清楚,但感觉你这用法不太合适。