首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MSMQ Transactional Message Delivery如何工作?

MSMQ Transactional Message Delivery 是一种基于消息队列的技术,用于在不同的应用程序之间传递消息。它可以确保消息的安全传输,并在发送方和接收方之间建立一个可靠的通信通道。以下是 MSMQ Transactional Message Delivery 的工作原理:

  1. 发送方应用程序将消息发送到发送队列。
  2. 发送队列将消息存储在磁盘上,并等待接收方应用程序接收消息。
  3. 接收方应用程序从接收队列中读取消息。
  4. 接收方应用程序处理消息,并将消息从接收队列中删除。
  5. 如果在处理过程中出现错误,接收方应用程序可以将消息重新放回接收队列,以便再次尝试处理。
  6. 如果发送方应用程序收到接收方应用程序已成功处理消息的确认,则将消息从发送队列中删除。

MSMQ Transactional Message Delivery 的优势在于它可以确保消息的安全传输,并在发送方和接收方之间建立一个可靠的通信通道。它可以处理高吞吐量的消息流量,并且可以在发送方和接收方之间建立一个可靠的通信通道,以确保消息的安全传输。

推荐的腾讯云相关产品包括:

  1. 腾讯云消息队列(Tencent Cloud Message Queue):腾讯云消息队列是一种基于消息队列的技术,用于在不同的应用程序之间传递消息。它可以确保消息的安全传输,并在发送方和接收方之间建立一个可靠的通信通道。
  2. 腾讯云API网关(Tencent Cloud API Gateway):腾讯云API网关是一种用于管理API的服务,可以帮助开发人员创建、发布、维护和安全地调用API。它可以帮助开发人员管理API流量,并提供安全的API访问。
  3. 腾讯云云市场(Tencent Cloud Marketplace):腾讯云云市场是一个在线应用程序市场,提供了许多可以在腾讯云上运行的应用程序和服务。这些应用程序和服务可以帮助开发人员快速构建和部署应用程序,并提供了一些与消息队列相关的应用程序和服务。

以上是腾讯云相关的产品和服务,可以帮助开发人员快速构建和部署基于消息队列的应用程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

我的WCF之旅(12):使用MSMQ进行Reliable Messaging

我们今天就来谈谈在WCF中如何使用MSMQMSMQ不仅仅是作为支持客户端连接工具而存在,合理的使用MSMQ可以在很大程度上提升系统的Performance和Scalability。...我们先来看看MSMQ能给我们带来怎样的好处: 1.MSMQ是基于Disconnection MSMQ通过Message Queue进行通信,这种通信方式为离线工作成为了可能。...比如在介绍MSMQ时都会提到的Order Delivery的例子:在一个基于B2C的系统中,订单从各种各样的客户传来,由于 客户的各异性,不能保证每个客户在每时每刻都和用于接收订单的Server保持一个可靠的连接...2.MSMQ天生是One-way、异步的 在MSMQ中,Message始终以One-way的方式进行发送,所以MSMQ具有天生的异步特性。...所以MSMQ使用于那些对于用户的请求,Server端无需立即响应的场景。也就是说Server对数据的处理无需和Client的数据的发送进行同步,它可以独自地按照自己的Schedule进行工作

39730

深入理解Spring系列之十二:@Transactional如何工作

结合Spring框架,在进行数据库操作的时候,经常使用@Transactional注解,工作经历中看到很多人使用方式都是错误的,没有深入理解过其原理,这是很危险的!!...本篇将深入Spring源码,分析@Transactional注解的工作原理。相信,看完你会点赞转发的! 源码分析 首先从说起。...是否需要开启新事务,是根据@Transactional注解上配置的参数值来判断的。如果需要开启新事务,获取Connection连接,然后将连接的自动提交事务改为false,改为手动提交。...但是,有部分开发人员会误用这个便利,基本都是下面这两种情况: A类的a1方法没有标注@Transactional,a2方法标注@Transactional,在a1里面调用a2; 将@Transactional...@Transactional工作机制是基于AOP实现的,而AOP是使用动态代理实现的,动态代理要么是JDK方式、要么是Cglib方式。

1.2K80

MSMQ突破4M限制的方法

在默认情况下msmq 3.0(windows xp ,windows 2003)最大单个消息(Message size)大小4M;(包括正文和全部指定属性的消息的大小不能超过 4 MB。...但对于一些特别少数的应用仍然存在大报文的需求,而msmq作为一个消息中间件有很多优势。所以我们还是要想办法使用他,或是扩展他的功能。    ...1.通过修改注册表(regedit)HKLM\SOFTWARE\Microsoft\MSMQ\Parameters\ 加添一个MaxMessageSize DWORD值大小默认4M(0x00400000...//release queue resources                 queue.Close();             }         }     3.使用BizTalk MSMQ...Adapter,支持消息分段(segmentationSupport=true),前提队列必须是事务性(transactional=true),MaxMessageSize最大可以4G,试验证实一个通过

1.8K40

《我的WCF之旅》博文系列汇总

一开始我们先建立一个简单程序看WCF如何工作。 [第2篇] Endpoint Overview WCF实际上是构建了一个框架,这个框架实现了在互联系统中各个Application之间如何通信。...但是要使我们处理后的XML需要和要求的完全一致,这样的工作无疑是非常枯燥乏味而且费时费力的。而我们最擅长的就是使用.NET对象来封装我们的数据。...我们今天就来谈谈在WCF中如何使用MSMQ。...[第13篇] 创建基于MSMQ的Responsive Service 我们知道MSMQ天生就具有异步的特性,它只能以One-way的MEP(Message Exchange Pattern)进行通信。...再拿我在上一篇文章的Order Delivery的例子来说。Client向Service提交了Order,却无法确认该Order是否被Service正确处理,这显然是不能接受的。

44310

Msmq设计文档(赋源代码)

Msmq设计文档 文件状态: [√] 草稿 [  ] 正式发布 [  ] 正在修改 文件标识: ECI-MSMQ v01 当前版本: 0.5 作    者: 阿新 完成日期: 2005-8-18 1.0...文档说明: 1.1文档目的 介绍了MSMQ的基本编程(如存储和接收消息)和基本的管理功能(如创建和删除队列)。...虽然使用.Net API来是非常方便和简单的,但是在实际的MSMQ项目中,需要了解消息队列作为架构的概念。通过使用MSMQ,系统会更加松散耦合,因此更加自治(autonomous)。...类库结构 类名称 方法/类型 参数 说明 ECI.MSMQLib FormatterType 枚举类型 Xml,binary,stream 定义消息序列化类型 MQProfile 类 Path,transactional...foreach(System.Messaging.Message message in queue) { txtResults.Text += message.Label + Environment.NewLine

1.2K80

《我的WCF之旅》博文系列汇总

一开始我们先建立一个简单程序看WCF如何工作。 [第2篇] Endpoint Overview WCF实际上是构建了一个框架,这个框架实现了在互联系统中各个Application之间如何通信。...但是要使我们处理后的XML需要和要求的完全一致,这样的工作无疑是非常枯燥乏味而且费时费力的。而我们最擅长的就是使用.NET对象来封装我们的数据。...我们今天就来谈谈在WCF中如何使用MSMQ。...[第13篇] 创建基于MSMQ的Responsive Service 我们知道MSMQ天生就具有异步的特性,它只能以One-way的MEP(Message Exchange Pattern)进行通信。...再拿我在上一篇文章的Order Delivery的例子来说。Client向Service提交了Order,却无法确认该Order是否被Service正确处理,这显然是不能接受的。

64390

我的WCF之旅(13):创建基于MSMQ的Responsive Service

Responsible Service 我们知道MSMQ天生就具有异步的特性,它只能以One-way的MEP(Message Exchange Pattern)进行通信。...下图简单表述了基于MSMQ的WCF Service中Client和Service的交互。 ? 但是在有些场景 中,这是无法容忍的。再拿我在上一篇文章的Order Delivery的例子来说。...我们今天就来讨论一下,如何创建一个Responsive Service来解决这个问题:Client不再是对Service的执行情况一无所知,它可以获知Order是否被Service正确处理了。...我们的解决方案是:在每个Client Domain也创建一个基于MSMQ的本地的WCF Service,用于接收来自Order处理端发送的Acknowledge Message。...对于处理Order的Service来说,在向Client端发送Acknowledge Message的时候,它必须要知道该Order对应的Client的Response Service的MSMQ的Address

74970

C# 消息队列之MSMQ

首先说一下,消息队列 (MSMQ Microsoft Message Queuing)是MS提供的服务,也就是Windows操作系统的功能,并不是.Net提供的。...下图演示了消息队列如何保存由多个发送应用程序生成的消息,并被多个接收应用程序读取。 消息一旦发送到队列中,便会一直存在,即使发送的应用程序已经关闭。...MSMQ服务默认是关闭的,(Window7及以上操作系统)按以下方式打开 1、打开运行,输入"OptionalFeatures",钩上Microsoft Message Queue(MSMQ)服务器。...我理解的MSMQ MSMQ可以被看成一个数据储存装置,就如同数据库,只不过数据存储的是一条一条的记录,而MSMQ存储的是一个一个的消息(messsge)。...Message可以被理解为一种数据容器,我们在稍后会讲到。

76730

msmq3.0中使用http协议发送消息

1.先声明: msmq3.0仅在winxp和win2003以上系统支持,如果windows vista系统,据说已经开始支持msmq4.0了 2.为什么要使用http协议发送消息 访问internet...上,默认安装的消息队列是没有http支持的,需要在"添加/删除 windows组件"-->"应用程序服务器"-->"消息队列"-->"详细信息"中把"MSMQ http支持"勾中 另外要说明的是msmq3.0...在安装过程中,需要在iis的默认站点(即标识为W3WVC1,msmq在安装中定死了这一标识)中创建msmq的虚拟目录,如果你不幸把iis的默认站点删除了,就无法正确安装msmq3.0的http支持(既使你再新建一个默认站点也没用...$/demo"); System.Messaging.Message msg = new System.Messaging.Message(); msg.Body = "Hello World!" ... { typeof(string) }); mq.Send(msg); 如果172.134.54.4这台服务器是直接对外公开访问的,以上代码就可以将消息正常发送到该服务器的专用队列demo上 5.如何穿透防火墙

1.7K80

Biztalk Server zip unzip pipeline component Development

的项目涉及和其他合作伙伴(partner)作数据传输,我们这边使用的开发平台(platform)是Biztalk Server 2006,数据传输管道(channel)采用window server 2003的MSMQ...,但是由于MSMQ本身存在单个消息有4M限制的问题,虽软Biztalk Server 2006自带的MSMQ Adapter已经对大消息(Large Data)的支持,提供了[Support segmentation...] if true , message larger than 4095KB(approximately 4MB) will be segmented,说明当发送单个报文实例(Instance)超过4MB...的时候可以在发送至MSMQ对列的时候进行分割成几个小的消息发送,这些被分割的消息之间通过Message....CorrelationId进行关联具体的做法可以参考《MSMQ消息大于4MB限制的解决办法》采用对消息进行分割的做法会对接收消息需要作特定的判断,相对于对报文压缩来得比较简单; 下面介绍一下如何通过对Biztalk

1.2K40

RabbitMQ技术详解

MSMQ 这是微软的产品力唯一被认为有价值的东西。如果MSMQ能证明可以应对这种任务,他们将选择使用它。 关键是它并不复杂,除了接收和发送,没有别的;它有一些硬性限制,比如最大消息体积是4MB。...相对于ActiveMQ是一个非常轻量级的消息系统,除了性能非常好之外,还是一个工作良好的分布式系统。 ? ?...比如: 1.信息的发送者和接收者如何维持这个连接,如果一方的连接中断,这期间的数据如何方式丢失? 2.如何降低发送者和接收者的耦合度? 3.如何让Priority高的接收者先接到数据?...4.如何做到Load balance?有效均衡接收者的负载? 5.如何有效的将数据发送到相关的接收者?也就是说将接收者subscribe 不同的数据,如何做有效的filter。...原话是RabbitMQ isn’t a food truck, it’s a delivery service.

91510
领券