msmq消息队列使用场景
MSMQ全称是Microsoft Message Queue——微软消息队列。
MSMQ是一种通信的机制,因为是一种中间件技术,所以它能够支持多种类型的语言开发,同时也是跨平台的通信机制,也就是说MQ支持将信息转化为XML或者JSon等类型的数据存储到消息队列中,然后可以使用不同的语言来处理消息队列中的消息,这样就很容易的做到了信息的通信,同时也为信息的通信起到了缓冲的作用,经常会在金融项目中使用这种通信机制。
我的理解是:
1、逻辑很多时,可以先返回主要信息,余下的放到消息队列中执行。
比如:一个注册功能
1、保存用户。
2、处理用户初始化信息(比如送积分……)。
3、发送注册成功邮件。
4、发送注册成功短信。
在这个场景中就可以2、3、4放到消息队列中,最短的时间内返回注册结果,以提高用户体验。
其它程序(可以做个windows服务专门用来发送邮件/短信)获取队列中2、3、4执行。
2、高并发场景
比如:购物秒杀,用户集中请求可能导致服务器宕机。
可以把用户的请求放消息队列中,客户端友好的请求等待,队列完成后拿到结果,可以用scoket(SignalR)返回结果(或让客户端轮询队列中的结果)