首页 > 技术文章 > msmq消息队列使用场景

Jerrycjc 2017-02-16 14:56 原文

MSMQ全称是Microsoft Message Queue——微软消息队列。

 

MSMQ是一种通信的机制,因为是一种中间件技术,所以它能够支持多种类型的语言开发,同时也是跨平台的通信机制,也就是说MQ支持将信息转化为XML或者JSon等类型的数据存储到消息队列中,然后可以使用不同的语言来处理消息队列中的消息,这样就很容易的做到了信息的通信,同时也为信息的通信起到了缓冲的作用,经常会在金融项目中使用这种通信机制。

 

我的理解是:

1、逻辑很多时,可以先返回主要信息,余下的放到消息队列中执行。

比如:一个注册功能

1、保存用户。

2、处理用户初始化信息(比如送积分……)。

3、发送注册成功邮件。

4、发送注册成功短信。

在这个场景中就可以2、3、4放到消息队列中,最短的时间内返回注册结果,以提高用户体验。

其它程序(可以做个windows服务专门用来发送邮件/短信)获取队列中2、3、4执行。

2、高并发场景

比如:购物秒杀,用户集中请求可能导致服务器宕机。

  可以把用户的请求放消息队列中,客户端友好的请求等待,队列完成后拿到结果,可以用scoket(SignalR)返回结果(或让客户端轮询队列中的结果)

  

推荐阅读