技术解析
我的系统,有一部分的业务是“查询其它系统的订单处理结果,然后更新我的订单状态”。
目前问了两个“前辈”,都说写定时任务,去数据库里扫表,拿出处理中的订单,去挨个轮询状态。
我一直以为这种操作(查其它系统,修改自己订单的操作。)应该扔给消息队列,作为异步任务去处理。
但是前辈说,消息队列,不安全,会丢失,那么我想请教两个问题。
1.消息队列不安全,会丢失,是指什么?是指载体,类似 rabbitmq 和 re国外服务器dis 数据是放在内存的?难倒不可以持久化么?还是其它原因?
2.是不是相比于“查询补单”这样的业务,将结果通知给其它系统,这种业务更适合使用消息队列的异步任务( rabbitmq+celery )。