1. 消息队列基本知识
1.1 消息队列使用场景
如下图,一个普通的订单支付系统架构,支付网关调用订单系统进行下单,然后调用积分系统去更新用户积分,当并发量很大的情况下,支付网关与微信平台频繁的进行回调,积分系统就会占用支付网关的并发量,而调用积分系统更新积分,并不一定要实时去更新,因此,支付网关调用积分系统更新用户积分的操作就可以放到消息队列来完成,一方面进行解耦,另外一方面也提升了支付网关的QPS:
加入消息队列,系统架构变为:支付网关进行消息的发布,订单洗头和积分系统进行订阅,然后消费支付网关发送来的消息
1.2 JMS
- JMS概念
Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口;JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database Connectivity)。这里,JDBC 是可以用来访问许多不同关系数据库的 API - JMS特点/因用场景
1)跨平台
2)多语言
3)多项目
4)解耦
5