微软消息队列msmq

微软消息队列msmq

ID:14157486

大小:86.50 KB

页数:5页

时间:2018-07-26

微软消息队列msmq_第1页
微软消息队列msmq_第2页
微软消息队列msmq_第3页
微软消息队列msmq_第4页
微软消息队列msmq_第5页
资源描述:

《微软消息队列msmq》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、微软消息队列(MSMQ)简介2008-10-1422:33年前在做一个点击量的程序设计,现在没事决定贴出来,分享下,下面把程序的设计思路说下:考虑到点击量与数据库交互次数太多,为了减缓Web服务器的压力,决定尝试下MSMQ(MicrosoftMessageQueue),对MSMQ做了初步尝试,有不到的地方欢迎大家跟帖.   具体的设计思路是这样的:打开前台页面的时候将发送一个消息,由于消息队列是异步的所以前台性能上不是特别影响,在后台有个专门的Windows控制台程序自动的异步接收来自前台发送过来的消息,然后进行业务处理(主要是更新数据库

2、操作),这样大大减缓了Web服务器的压力.消息队列概念的简单介绍:●“消息”:是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。●“消息队列”:是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。●“消息队列”是Microsoft的消息处理技术,它在任何安装MicrosoftWindows的计算机组合中,为任何应用程序提供消息处理和消

3、息队列功能,无论这些计算机是否在同一个网络上或者是否同时联机。队列类型:●用户队列–公共队列:在整个“消息队列”网络中复制,并且有可能由网络连接的所有站点访问。–“专用队列”不在整个网络中发布。相反,它们仅在所驻留的本地计算机上可用。专用队列只能由知道队列的完整路径名或标签的应用程序访问。–“管理队列”包含确认在给定“消息队列”网络中发送的消息回执的消息。–“响应队列”包含目标应用程序接收到消息时返回给发送应用程序响应消息。●系统队列–日记队列”可选地存储发送消息的副本和从队列中移除的消息副。–“死信队列”存储无法传递或已过期的消息的副本

4、。–“报告队列”包含指示消息到达目标所经过的路由的消息,还可以含测试消息。每台计算机上只能有一个报告队列。–“专用系统队列”是一系列存储系统执行消息处理操作所需的管理和通知消息的专用队列。使用消息队列的优点:●稳定性——组件失败对消息的影响程度远远小于组件间的直接调,因为消息存储在队列中并一直留在那里,直到被适当地处理。●消息优先级——更紧急或更重要的消息可在相对不重要的消息之前接收,因此可以为关键的应用程序保证足够的响应时间。●脱机能力——发送消息时,它们可被发送到临时队列中并一直留在那里,直到被成功地传递。●安全性——MessageQ

5、ueue组件基于的消息队列技术使用Windows安全来保护访问控制,提供审核,并对组件发送和接收的消息进行加密和验证。编程优势:●利用MicrosoftWindows“消息队列”,应用程序开发人员可以通过发送和接收消息方便地与应用程序进行快速可靠的通讯。●MSMQ与XMLWebServices和.NetRemoting一样,是一种分布式开发技术。但是在使用XMLWebServices或.NetRemoting组件时,Client端需要和Server端实时交换信息,Server需要保持联机.MSMQ则可以在Server离线的情况下工作,将M

6、essage临时保存在Client端的消息队列中,以后联机时再发送到Server端处理。●采用MSMQ带来的好处是:由于是异步通信,无论是发送方还是接收方都不用等待对方返回成功消息,就可以执行余下的代码,因而大大地提高了事物处理的能力。开发实战:首先确保在服务器端安装上MSMQ服务,具体的在控制面板-添加删除组件-添加/删除Winwows组件(A)-消息队列.我们只需要在System.Messaging命名空间下开发自己的程序就可以了.使用起来非常方便.具体的请大家看MessageQueue和Message这两个类就OK了,使用起来十分方

7、便简单.另外提下消息队列序列化问题:.NET消息队列提供了如下的格式程序:●XmlMessageFormatter,BinaryMessageFormatter,ActiveXMessageFormatter类型特性.XmlMessageFormatter   这是默认的格式化程序,前面的例子都是使用它的,从这个名称我们就可以联想到,它是会将自定义的类型串行化为一个XML表示,这个格式化程序很慢,并且会创建相对较多的消息。然而,这些消息可以被运行在不同平台下的应用程序共享和理解。●BinaryMessageFormatter   这个格式

8、化应用程序会把自定义类型串行化为一个专有的二进制的格式。他比上面一种的速度要快得多,而且生成的消息很紧凑。然而只有运行在.NET中的接收者才可以容易地解析这个消息的内容。●ActiveXMes

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。