1 / 3
文档名称:

.net下rabbitmq的使用(8) 远程过程调用rpc.doc

格式:doc   大小:13KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

.net下rabbitmq的使用(8) 远程过程调用rpc.doc

上传人:学习的一点 2022/1/28 文件大小:13 KB

下载得到文件列表

.net下rabbitmq的使用(8) 远程过程调用rpc.doc

相关文档

文档介绍

文档介绍:.Net下RabbitMQ的使用(8) -- 远程过程调用RPC
RPC是在计算中是一种常见的模式,是通常我要用消息队列来实现RPC有3个关键点:1. 服务的寻址2. 消息的接收3. 消息的关联 (8) -- 远程过程调用RPC
RPC是在计算中是一种常见的模式,是通常我要用消息队列来实现RPC有3个关键点:1. 服务的寻址2. 消息的接收3. 消息的关联 ,提供了2个类:SimpleRpcClient 和 SimpleRpcServer 来让我们方便的开发RPC应用。因为RabbitMQ的RPC一定是基于队列的,所以在客户端和服务端都需要要一个各自的队列,客户端的队列用来接收服务回复的数据,服务端的队列用来缓存需要调用的服务的Request。这些请求一定不单单从一个客户端而来。服务的地址是公开的,地址也就是一个队列,客户端只要把参数放进这个服务端监控的队列中就可以了。服务端每次从队列中获得的一个数据即是一次调用。服务不单单为一个客户端服务,所以在客户端调用的参数里面,每次都需要加上需要回复的队列名字,也就是要告诉服务端方法调用结果需要放在这个队列里。客户端不仅可以直接把队列的名字放在参数里面还可以给出一个路由,例如这样的格式:exchangeType://exchangeName/routingKey。 exchangeType就是exchange 的类型,四选一。这个队列里面的数据就是我调用服务的返回值。每一个客户端都有一个这样的返回值队列。你可以用如下命令查看队列的情况。 客户端也许调用比较频繁,或者是不是调用一个方法,返回值不同,又或者服务端每次返回的时间都不一样,不能保证回复的顺序和客户端调用的顺序一致。那么程序是怎么保证这个返回值就是这次调用的结果呢?RabbitMQ使用了CorrelationId,他是一个属性,在每次调用的时候,客户端会生成一个这样的属性来代表这次调用,Id唯一的。当然服务端也会把这个Id放在返回值里面一同返回,这个客户端就可用这个CorrelationId来配对一次调用。如果在调用过程中,CorrelationId没有被匹配到,那么返回值这个消息就会被丢弃,而不会出抛出异常。一个服务端往往不只提供一个服务(方法),在一个队列中也许会有不同方法的Request,这种就需要根据每次Request里面带的参数来判断是调用具体哪个方法的。一个服务提供多个方法常见也有显而易见的弊端也,如果某些方法服务处理的时间比较长的话就需要其他调用等待。如果服务端采用多线程处理,那么在客户端调用的时候,每个服务端的方法都要一个专门的SimpleRpcClient 去调用。也就是说,不同的方法需要有不同的callback队列,这样才能避免客户端会犹豫匹配CorrelationId不对而丢弃消息。 RPC调用的顺序如下:1. 在客户端初始化的时候,也就是SimpleRpcClient类初始化的时候,它会随机的创建一个callback队列,用于存放服务的返回值,这个队列是exclusive的。连接断开就没有了。2. 客户端

最近更新

部编版一年级上册道德与法治期末测试卷【综合.. 7页

西师大版数学五年级上册期末测试卷带答案(考试.. 6页

西师大版四年级上册数学第四单元-三位数乘两位.. 4页

西师大版六年级上册数学第七单元-负数的初步认.. 6页

西师大版二年级下册数学第五单元-有余数的除法.. 5页

期末测试卷-2021-2022学年科学二年级下册-教科.. 7页

最新人教版一年级上册数学期末测试卷及参考答.. 8页

教科版科学三年级下册第3单元-太阳、地球和月.. 11页

2025年酒店客房管理制度 14页

2025年财务分析体系全攻略 46页

小学一年级数学应用题50道附答案(培优a卷) 4页

2025年袁建军在首期全国水利文明单位党委书记.. 12页

基于下一代测序数据的拷贝数变异检测算法研究.. 9页

2025年虹吸式屋面雨水排放系统施工方案培训资.. 31页

2025年薪酬管理实验教程 195页

2025年营销箴言 4页

2025年萎缩性胃炎可用药物治疗 9页

2025年药房质量管理体系文件 128页

2025年药历1 12页

2025年大型冷却塔安装方案 14页

2025年节能工程师手册 8页

分期购车协议 5页

钢栈桥钢平台合同 18页

康力电梯 扶梯质量机械检查要点培训 52页

高压物性取样和分析方法介绍精选PPT 89页

基于单片机的农业大棚温湿度监测系统设计 36页

列管式换热器设计说明书 23页

圆通祖师行谊记事 11页

SAP FICO 后台配置及前台操作-产品成本收集器.. 24页

张得计金口诀13套资料打包 2页