实时性要求不高,比较耗时的任务,可以考虑消息队列,如激活邮件,图像处理。
应用场景
- 应用耦合:多应用对于同一消息处理
- 异步处理:应用建并发处理消息
- 流量削锋
- 消息驱动系统:log
- 消息通讯:订阅同一主题,实现点对点通信
成熟MQ特点
- RabbitMQ: 不支持消息批量处理,多client无序,不支持事务
- Kafka:只支持pull,不支持push,不支持事务
- RockerMQ:最高单机吞吐量,但ali只有java客户端
- ZeroMQ:“史上最快消息队列”
功能队列
- 优先级队列
- 延迟队列:30分钟未付款
- 死信队列:回退队列,充实队列