MQ 简介
异步。用在消费者与发送者需要解耦的场景。比如生产非常多的数据提供给多个下游服务使用,并不关心他们怎么用。电商中的应用比如:订单系统下单成功后,写入消息队列,库存系统从订阅中获取订单信息进行后续操作,调整完库存后才能付款等。秒杀由于用户太多可以用MQ对用户进行排队
优点:
- 平台统一调用方式
缺点:
- 需要增加MQ组件
- 消息调用路径变长,增加延时
- 消息不丢不重难保证
异步,解耦,消峰,MQ的三大主要应用场景。
上游关注和依赖下游的响应,宜用RPC;上游不关注不依赖下游的响应,宜用MQ。
还可以使用MQ来实现RPC,比如RabbitMQ中有Direct reply-to