消息队列,汇总

MQ:Message Queue

消息队列使用场景

  • 短信网关,秒杀限流。
  • 发布订阅。多个系统可能需要消息,可能又不需要这个消息。那就发布订阅。(降低耦合度)
  • 非核心的业务,通过发送到MQ处理。类似放到线程池处理(是有持久化的中间件,比放到线程池处理好)
  • 削峰(限流,特别是下订单)。
  • 时间到了就检查关闭订单(延迟队列,类似10分钟有效的支付订单)

削峰说明

  1. 生产者创建订单,–>发送订单请求到MQ。
  2. 消费者从MQ获取订单,扣库存(注意,扣库存涉及数量要加版本号)。

常见的MQ

  • kafka性能较高。专门传日志。
  • rabbitMq 一致性较好,性能次之(基于erlang,不好改);
  • rocketMQ就是阿里味儿的rabbitMQ。java版,容易看懂、改动。
  • ZeroMq算是socket之上,mq之下。
  • Pulsar更新的一个mq,基于java,非常分布式。

Comments

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注