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

远程MSMQ,事务和ReceiveById失败 - "在指定的队列中找不到请求的消息"

远程MSMQ是一种远程消息队列服务,用于在分布式系统中进行消息传递和通信。它提供了一种可靠的、异步的、跨网络的消息传递机制,可以在不同的应用程序之间进行通信。

远程MSMQ的优势包括:

  1. 可靠性:远程MSMQ使用消息队列来存储消息,确保消息的可靠传递。即使发送方和接收方不同时在线,消息也会被安全地存储在队列中,直到接收方准备好接收。
  2. 异步性:远程MSMQ支持异步消息传递,发送方可以继续执行其他任务,而不需要等待接收方的响应。
  3. 跨网络:远程MSMQ可以在不同的网络环境中进行消息传递,使得分布式系统的通信更加灵活和可扩展。

远程MSMQ的应用场景包括:

  1. 分布式系统:远程MSMQ可以在不同的服务器之间进行消息传递,用于构建分布式系统,实现不同模块之间的通信和协作。
  2. 异步处理:远程MSMQ可以用于异步处理任务,将任务放入消息队列中,由后台服务或其他应用程序进行处理,提高系统的响应速度和并发能力。
  3. 事件驱动架构:远程MSMQ可以用于实现事件驱动架构,不同的应用程序可以通过消息队列来触发和响应事件,实现松耦合的系统设计。

腾讯云提供了消息队列服务(TencentMQ),可以作为远程MSMQ的替代方案。TencentMQ是一种分布式消息队列服务,具有高可靠、高可用、高并发的特点。您可以通过TencentMQ来实现远程消息传递和通信,具体产品介绍和使用方法可以参考腾讯云官方文档:TencentMQ产品介绍

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

相关·内容

消息队列(Message Queue)简介及其使用

指定希望 MessageQueue 组件使用响应队列(如果有的话)。 系统生成队列一般分为以下几类: “日记队列”可选地存储发送消息副本队列移除消息副本。...如果过期或无法传递消息事务消息,则被存储一种特殊死信队列,称为“事务性死信队列”。死信存储在过期消息所在计算机上。有关超时期限过期消息更多信息,请参见默认消息属性。...同步异步通信(Synchronous VS. Asynchronous Communication) 队列通信天生就是异步,因为将消息发送到队列队列接收消息不同进程完成。...同组件间直接调用相比,它们具有若干优点,其中包括: 稳定性 — 组件失败消息影响程度远远小于组件间直接调用,因为消息存储队列并一直留在那里,直到被适当地处理。...同步 Peek Receive 方法使进程线程用指定间隔时间等待新消息到达队列

1.8K81

Msmq设计文档(赋源代码)

虽然使用.Net API来是非常方便简单,但是实际MSMQ项目中,需要了解消息队列作为架构概念。通过使用MSMQ,系统会更加松散耦合,因此更加自治(autonomous)。...消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列。“消息队列MSMQ)”是消息传输过程中保存消息容器。...Asynchronous Communication) 队列通信天生就是异步,因为将消息发送到队列队列接收消息不同进程完成。...同步通信中,请求发送方执行其他任务前,必须等待来自预定接收方响应。...同组件间直接调用相比,它们具有若干优点,其中包括: 稳定性 — 组件失败消息影响程度远远小于组件间直接调用,因为消息存储队列并一直留在那里,直到被适当地处理。

1.2K80
  • 快速入门系列--WCF--06并发限流、可靠会话队列服务

    消息队列信息将保存在%Windir%\System32\msmq\storage,常见队列分为如下几种队列。...普通队列:具体应用创建,基于业务队列,分为公有私有,公有队列被注册AD域中,其基于域账号Windows认证机制。 管理队列:确认消息被存储管理队列,包括成功确认失败确认。...事务队列MSMQSQL Server一样,属于事务管理器(RM,ResourceManager),可以登记到一个分布式事务。...基于MSMQAPI都集中System.Messaging,其常见路径格式及其示例如下。...整个构架包括:消息队列创建和删除;消息队列查询;创建一个MessageQueue对象;消息队列格式名称;消息发送;MSMQ消息消息接收与查看 其事务模型、事务批量操作、会话、错误处理等操作相对复杂

    1K70

    案例分析:基于消息分布式架构

    众多分布式技术消息传递相较文件传递与远程过程调用(RPC)而言,似乎更胜一筹,因为它具有更好平台无关性,并能够很好地支持并发与异步调用。...例如指定路由关键字,并由它来绑定具体队列指定生产者(或消费者)。路由支持提供了消息传递与处理灵活性,也有利于提高整个系统消息处理能力。...在这种情况下,部署不同服务器上服务,既可能作为服务端,用以处理客户端调用请求,也可能作为客户端,处理完自己业务后,将其余业务请求委派给其他服务。...但CORBA系统采用是RPC方式,需要将服务设计部署为远程对象,并建立代理。如果通过消息通道方式,则既可以解除这种对远程对象依赖,又可以很好地支持异步调用模型。...一种方案是引入分布式事务协调器,即DTC(Distributed Transaction Coordinator),将事务分为两段式甚至三段式提交,要求整个事务所有参与者以投票形式决定事务是完全成功还是失败

    1K91

    C# 消息队列MSMQ

    消息队列MSMQ)技术使得运行于不同时间应用程序能够各种各样网络可能暂时脱机系统之间进行通信。 应用程序将消息发送到队列,并从队列读取消息。...由于我们创建是专用队列,所以队列命名上面显示添加"private$",另一个事务复选框表示我们要创建队列是否为事务队列,这个稍后我会详细解释 我专用队列里面添加一个叫"shaoshun..."专用队列专用队列文件夹下面就可以找到,如图 消息 消息MSMQ存储对象,封装为System.Messaging.Message对象,它由一个主体(body)若干属性构成,其中我们用户数据通常被序列化装入...队列支持事务操作,当我们把对多个消息接收操作纳入一个事务,那么只要有一个消息接收不成功,队列将抛弃前面接收所有消息,实现事务回滚。队列事务同时支持消息按顺序接收与发送。...MessageQueue.Exists(queueName))// 如果指定路径queueName不存在队列,那么该路径,即queueName创建一个消息队列

    80130

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

    1.先声明: msmq3.0仅在winxpwin2003以上系统支持,如果windows vista系统,据说已经开始支持msmq4.0了 2.为什么要使用http协议发送消息 访问internet...远程发送消息时,msmq2.0以上就已经开始支持tcp方式了,但是如果外网服务器与发送端之间有防火墙或其它网络设备隔离,或者服务器上tcp所需要端口未开放,tcp方式将无法发送,而http协议使用是默认...80端口,一般服务器都会开放这一端口,另外只有http协议可以穿透防火墙 3.msmq3.0安装问题 windows xp上安装消息队列时,默认情况下msmq已经安装了http协议支持,而windows2003...上,默认安装消息队列是没有http支持,需要在"添加/删除 windows组件"-->"应用程序服务器"-->"消息队列"-->"详细信息"把"MSMQ http支持"勾中 另外要说明msmq3.0...安装过程,需要在iis默认站点(即标识为W3WVC1,msmq安装定死了这一标识)创建msmq虚拟目录,如果你不幸把iis默认站点删除了,就无法正确安装msmq3.0http支持(既使你再新建一个默认站点也没用

    1.7K80

    都在说微服务,那么微服务反模式陷阱是什么(三)

    你应该考虑两种类型消息标准作为微服务架构消息传递:特定平台标准和平台无关标准。特定平台标准比如 JMS for java、MSMQ for .net。平台无关比如 AMQP。...使用消息系统好处可以异步请求,还可以实现广播方式,还可以实现事务请求。...10.3 事务请求 消息系统需要支持事务消息概念,这意味着如果消息被发送到多个队列或Topic发送方对该事务进行提交之前, 这些消息实际上不会被接收方所接收。...服务消费者发送一个消息到第一个服务,然后发送另一个消息第二个服务,如图10-3所示。服务使用者执行提交之前,这些消息都保存在队列。一旦服务使用者执行提交,两个消息就会被释放。 ?...图10-3,服务消费者将消息发送到第一个队列,然后服务消费者业务报错, 这时可以消息事务中进行回滚,从消息系统队列删除掉刚才发消息

    67250

    微服务反模式与陷阱翻译终结篇

    你应该考虑两种类型消息标准作为微服务架构消息传递:特定平台标准和平台无关标准。特定平台标准比如 JMS for java、MSMQ for .net。平台无关比如 AMQP。...使用消息系统好处可以异步请求,还可以实现广播方式,还可以实现事务请求。...图10-2 10.3 事务请求 消息系统需要支持事务消息概念,这意味着如果消息被发送到多个队列或Topic发送方对该事务进行提交之前, 这些消息实际上不会被接收方所接收。...服务消费者发送一个消息到第一个服务,然后发送另一个消息第二个服务,如图10-3所示。服务使用者执行提交之前,这些消息都保存在队列。一旦服务使用者执行提交,两个消息就会被释放。 ?...图10-3 图10-3,服务消费者将消息发送到第一个队列,然后服务消费者业务报错, 这时可以消息事务中进行回滚,从消息系统队列删除掉刚才发消息

    42920

    MSMQ 与ESB

    企业应用,对于面向服务基础设施体现为ESB, 面向服务消息机制有一种是One-way, 一种是Request/response, 一种是Pub/sub 这三种模式其实可以同分为两类,同步异步...MSMQ允许双方离线状态下进行通信,且它提供了一整套易于使用API,并已经集成到了.NET框架,这一点要比Service Broker好得多。...发送消息, 目前可以不同机器之间开启一个事务. 可靠发送消息. 2. 接受消息,目前只支持同一个机器上,不同程序之间事务接受消息,这个也是msmq 3.0 一大不足....因为这也限制,往往会要求处理程序跟队列一个机器上. MSMQ4.0事务支持方面的得到了改进,它允许不同机器之间使用事务来接受消息....多了一个subqueue,子队列,对多个in order消息处理改进等 MSMQ 4.0新特性参看http://msdn2.microsoft.com/zh-cn/library/ms701784(

    83560

    微服务设计 10 大反模式陷阱!

    由于对服务调用都是一次远程调用,因此服务编排会非常大影响微应用总体性能。此外,它也会影响系统整体健壮性可靠性,越多远程调用,那么越高几率会有失败或者超时请求出现。...如果使用消息队列,那么可以将版本号放置属性部分(Property section)。...毕竟异步通信、广播、合并请求事务这些需求,REST是很难实现消息队列标准目前包括平台特定和平台无关两种。前者包括Java平台中JMSC#平台MSMQ,后者则是AMQP。...事务请求 消息系统提供了对事务消息支持:如果多个消息被发送到了一个交易上下文多个队列或者主题中时,那么直到消息发送者commit,服务才会真正接受到相应所有消息commit之前会一直保存在队列...因此对于服务消费者需要合并多个远程请求到一个事务场景可以选择事务消息。 作者:飒然Hang rowkey.me/blog/2018/06/02/microservice-pitfall/ END

    53350

    《WCF服务编程》关于“队列服务”一个值得商榷地方

    简言之,就是消息队列隶属于某个具体终结点,服务这个终结点从该消息队列接收消息与本终结点不一致,就会丢弃这个消息。...而该ChannelListener用于监听指定消息队列抵达消息,一旦检测到消息队列具有消息传来,或者开启时队列已经有了消息,就会按照优先级去接收这些消息。...,确认服务开启之前关闭之后消息队列具有的消息数量,相关代码如下所示: 1: static void Main(string[] args) 2: { 3: string...然后开启服务端,开启之前由于客户端进行两次服务调用,所以消息队列具有两个消息。由于服务只有一个终结点,所以它只能处理针对IHello契约调用消息。...我们现在需要确定是:“客户端针对IGoodbye契约发送请求消息还会在消息队列里面吗?”。从输出结果来看,消息队列已经不存在消息

    62580

    《WCF技术剖析(卷2)》目录

    事务显式控制 3.1.3. 分布式事务(Distributed Transaction)应用场景 3.2. Windows下事务处理模型 3.2.1. 事务模型三种角色 3.2.2....同一个服务实例上下文同时处理多个服务调用请求 4.1.2. 并发同步 4.1.3. 并发与实例上下文模式 4.2. 同步上下文与线程亲和性 4.2.1....可靠会话实现原理 5.3.1. 从信道层看可靠会话实现 5.3.2. 从传输协议局限性消息交换模式看可靠会话实现 5.3.3....可靠会话最佳实践 第6章 队列服务 (Queued Services) 6.1. MSMQ简介 6.1.1. MSMQ能解决什么问题? 6.1.2. MSMQ安装 6.1.3....消息队列 6.1.4. MSMQ编程 6.2. 从队列服务终结点谈起 6.2.1. 地址 6.2.2. 绑定 6.2.3. 契约 6.3. 事务控制 6.3.1. MSMQ事务模型 6.3.2.

    1.3K90

    ActiveMQ使用入门

    获得了连接工厂以后,就可以创 建一个与jms提供者连接。根据不同连接类型,连接允许用户创建会话,以发送接 收队列主题到目标。...send()方法有几个重载,其中参数最完整的如下: 前两个参数代表指定消息队列消息体,而deliveryMode、pioritytimeToLive 是可选 参数,用于控制消息属性。...以下示例使用“持久化”、“优先级”“超时”来发送消息:  需要注意是,消费者读取带有“优先级”队列时候,默认并不严格根据优先级大小来 消费,需要严格根据优先级来消费的话,需要在配置中指定消息队列开启优先级规则...值得注意是:实际高并发请求下,消 息优先级是很难严格保证了。...为了解决并发效率,这里可以使用JMS把购买请求和SQL写入分离,购买请求处理只需 把要保存到SQL购买信息推送到消息队列,然后由另一端购买信息消费者程序负 责写入SQL,购买请求就可以快速返回并响应用户

    1.9K50

    菜菜从零学习WCF一(WCF概述)

    Asp.Net FrameWork远程处理   远程处理专门为紧密耦合.NET到.NET通信而设计,因此它为本地网络应用程序提供了无缝而直接开发体验。...企业服务 该技术可用来管理对象生存期定义分布式事务与应用程序进行通信集成时,这些功能会很有用。但是企业服务仅支持有限一组通信选项。...Microsoft消息队列MSMQ)   用于与基于Windows合作伙伴应用程序进行通信,这些应用程序对数据传送、工作量分离以及应用程序生存期均要求有保证。...建立消息队列WCF排队消息选项使应用程序能够使用持久排队,而无需使用另外一组应用程序编程接口。 综上所述WCF就是:   提供统一,可用于建立安全、可靠面向服务应用高效开发平台。...该服务模型提供支持松散耦合版本管理序列化功能,并提供与注入消息队列MSMQ)、COM+、Asp.Net Web服务、Web服务增强版(WSE)等现有.NET FrameWork分布式系统技术以及很多其他功能集成互操作性

    1.3K20

    WCF系统内置绑定列表与系统绑定所支持功能

    HTTP/HTTPS Text,MTOM WS2007HttpBinding 一个安全且可互操作绑定,可为Security,ReliableSession正确版本...SOAP媒介进行通信 HTTP Text,MTOM WSFederationHttpBinding 一个安全且可互操作绑定,支持WS联合协议并使联合组织可以高效地对用户进行身份验证授权... 一个绑定,适用于WCF应用程序现有消息队列(也称为MSMQ)应用程序之间跨计算机通信 MSMQ Binary NetMsmqBinding 一个排队绑定,适用于WCDF应用程序之间跨计算机通信 MSMQ Binary NetPeerTcpBinding 一个支持多计算机安全通信绑定 P2P Binary...WCF各系统绑定所支持功能 绑定名称 传输性安全 消息级安全 WS*兼容性 WS*事务支持 持久可靠消息传送 可靠会话 性能 请求/响应 单向 双工 basicHttpBing √ √ √

    63910

    MSMQ突破4M限制方法

    默认情况下msmq 3.0(windows xp ,windows 2003)最大单个消息(Message size)大小4M;(包括正文全部指定属性消息大小不能超过 4 MB。...这样可以很好利用网络带宽,提高系统处理性能。    但对于一些特别少数应用仍然存在大报文需求,而msmq作为一个消息中间件有很多优势。所以我们还是要想办法使用他,或是扩展他功能。    ...下面就我在网上通过一些网友帮助整理了一些突破这个4M限制方法。    ...Adapter,支持消息分段(segmentationSupport=true),前提队列必须是事务性(transactional=true),MaxMessageSize最大可以4G,试验证实一个通过...4.使用BizTalk提供一个LargeMessage api可以以编成方式实现对大报文处理,处理方式方法3类似。并且可以实现BizTalk兼容。

    1.9K40

    简单易用.NET免费开源RabbitMQ操作组件EasyNetQ解析

    Memcache,或者Redis),请求较多项目,使用Nginx做负载均衡使用队列等等。    ...消息队列中间件是分布式系统重要组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩最终一致性架构。是大型分布式系统不可缺少中间件。    ...每个消息都被发送到一个特定队列,接收者从队列获取消息队列保留着消息,直到他们被消费或超时。...二.EasyNetQ组件概述     上面介绍了RabbitMQ应用场景使用模式,.NET项目开发,较多使用MSMQ作为消息队列,很多人对于MSMQ操作比较熟悉,也属于轻量级消息队列。...EasyNetQ目标是提供一个使.NETRabbitMQ尽可能简单库。EasyNetQ消息应由.NET类型表示,消息应通过其.NET类型进行路由。EasyNetQ按消息类型进行路由。

    1.5K80

    微服务知识科普

    请求上下文维护了请求ID回调函数,超时请求当回复报文到达后由于找不到请求上下文就会丢弃。...这个地方就可以做到broker高可用 4.所以 我们发现消息是发给哪个broker哪个queue是客户端发送时候决定,不是在生成commitlog之后派发,这样我们就可以指定都某一个固定...queue了 5.消息发送时候会构建发送请求,里面包含了消息队列信息,topic信息等,消息体里面会增加一个消息ID, 6.如果消息重试多次后还是失败就会进入死信队列,一个固定topic 消息存储...rm 发起回滚或提交请求 一致性消息队列:先发送半消息,如果成功了执行本地事务,本地事务成功就提交半消息,本地事务失败就回滚半消息,如果消息队列长期没有收到确认或者回滚可以反查本地事务状态,消费端收到消息后...),从而影响其他商品销售,所以我们可以将请求应用层进行排队,如果份额较少可以直接舍弃,另一种方案是在数据库层排队,这种方案需要采用mysql补丁 docker namespace docker创建容器进程时候可以指定一组

    71330

    pet结构单元_三层架构

    PetShop4架构设计分析(三) petshop4.0 详解之三(PetShop数据访问层之消息处理) 三、PetShop数据访问层之消息处理 进行系统设计时,除了对安全、事务等问题给与足够重视外...PetShop4.0,使用了Microsoft Messaging Queue(MSMQ)技术来完成异步处理,利用消息队列临时存放要插入数据,使得数据访问因为不需要访问数据库从而提供了访问性能,至于队列数据...由于PetShop仅对订单处理使用了异步处理方式,因此消息接口IMessaging,仅定义了一个IOrder接口,其类图如下: 在对消息接口实现,考虑到未来扩展中会有其他数据对象会使用...它目的就是接收消息队列订单数据,然后将其插入到OrderInventory数据库。它利用了多线程技术,以达到提高系统性能目的。...ReceiveFromQueue()来获取消息队列订单数据,并将其放入到一个ArrayList对象,然而再调用PetShop.BLL.Order类Insert方法将其插入到OrderInventory

    69310
    领券