消息传递面向消息的中间件设计基础.pptx

上传人:莉*** 文档编号:77635778 上传时间:2023-03-15 格式:PPTX 页数:28 大小:2.65MB
返回 下载 相关 举报
消息传递面向消息的中间件设计基础.pptx_第1页
第1页 / 共28页
消息传递面向消息的中间件设计基础.pptx_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《消息传递面向消息的中间件设计基础.pptx》由会员分享,可在线阅读,更多相关《消息传递面向消息的中间件设计基础.pptx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、微软的中间件回归自然 MSMQMicrosoft Message Queue第1页/共28页日程应用集成技术的发展与回顾消息传递基础面向消息的集成中间件设计实践展望Indigo与未来的集成第2页/共28页应用集成技术的发展与回顾RPC与应用集成第3页/共28页应用集成中间件设计的目标应用程序之间需要互相“交谈”不违反“Once and Only Once”规则在计算的过程中需要集中处理以确保正确性在计算的过程中需要分布处理以确保可缩放性总之机器与机器需要进行“交谈”传统建议我们使用RPC来解决这一问题“让远程通信和本地调用一样容易定义一个接口编写服务器端实现工具生成两者之间需要的通信管道第4页

2、/共28页RPC 编程模型public long add(long l1,long l2);编译器methodstubmethodskeleton响应消息响应消息long I=add(5,10);public long add(long l1,long l2)return l1+l2;请求消息请求消息Method:addMethod:addParams:5(long),10(long)Params:5(long),10(long)Return:15(long)Return:15(long)实现接口接口客户端客户端第5页/共28页RPC存在的问题RPC方法忽略了:延迟(网络、应用程序)部分失败和

3、并发“Objects that interact in a distributed system need to be dealt Objects that interact in a distributed system need to be dealt with in ways that are intrinsically different from objects that with in ways that are intrinsically different from objects that interact in a single address space.”interac

4、t in a single address space.”Waldo et al,1994“95%transparent is not good enough.In fact,it is worse because 95%transparent is not good enough.In fact,it is worse because it deceives developers.”it deceives developers.”Werner Vogels第6页/共28页RPC存在的问题RPC让通信更容易,但代价是:请求/响应通信针对每一个请求,我们期望一个响应阻塞调用者线程直到接收到响应(

5、或者响应超时)代理和Stub强绑定强绑定和类型一致使得编程容易但强绑定和类型一致使得变化非常困难RPC暴露行为第7页/共28页解决方案:消息传递系统间通过管道通信管道有逻辑地址发送应用程序将消息放到管道中,然后处理其它工作(“fire-and-forget”)管道将数据排队直到被接收应用程序使用(FIFO)SystemB系统系统AMessageChannel(Queue)第8页/共28页解决方案:消息传递RPC的本质RPC=请求消息+响应消息把消息分开,独立处理允许不同的消息交换模式消息传递暴露数据替代基于接口来创建约束(RPC)基于消息类型来创建约定(messaging)上下文完整的通信AS

6、endRcvBRcvSend是RPC还是2条消息?第9页/共28页面向消息的中间件Message-Oriented Middleware(MOM)消息=消息头(路由信息)+消息正文支持异步发送不指定格式(松散约束)目的地=命名的消息存储仓库解耦合消息的产生者与消费者便于重定向或者改变调用流程运行环境=多样化的发送方式服务质量:Reliable,transacted,prioritized,deadline-based通信方式:publish-and-subscribe等.消息交换模式Request-response,fire-and-forget,request-async response第

7、10页/共28页消息传递架构模式消息传递是一种架构模式,而不是一种技术我们可以使用一个数据库来实现消息传递,但使用数据库不地表我们使用的是消息传递与SOA/Web Services的争论对比:我们可以不使用Web Services来构建SOA使用Web Services并不能保证是SOA架构模式由一组词汇、结构和设计约束组成第11页/共28页消息传递系统举例文件传输消息:文件目的地:文件系统目录运行环境:操作系统的文件系统数据库消息:数据集目的地:数据库表运行环境:数据库JMS/MSMQ消息:byte,text,object,stream 目的地:队列(point-to-point),主题(p

8、ublish-subscribe)运行环境:MOM环境支持SOAP消息:SOAP XML format目的地:(取决于传送方式)运行环境:WebLogic,WS-Reliable Messaging第12页/共28页为什么要使用消息传递灵活性可缩放性高负载的平缓释放集成性第13页/共28页为什么要使用消息传递?灵活性更多的数据流选择Fire-and-forget,multicast,disconnected,load-balancing,flow control,priority routing等.多粒度的处理逻辑Routing SlipContent-Based Router更容易维护和变化

9、消息格式的变化不需要重新编译不相关的客户端消息流的传递不需要修改中间结点避免并发死锁(和RPC响应阻塞相比)第14页/共28页为什么要使用消息传递?可缩放性竞争消费 多个处理端可以读取同一队列发送端不需要进行任何改变粗粒度消息可以使处理端成为“无状态”发送端消费者消费者消费者1消息23123接收者接收者竞争消费模式第15页/共28页为什么要使用消息传递?高负载的平缓释放队列中存储的消息将会等待被处理消息处理端或消费者会经可能快的取走消息如果处理端阶段无法继续:我们可以增加更多的处理端或者等待峰值负载被释放Rate Msgs/secQueue LengthtimetimeProducerCons

10、umerPeak LoadSteady processing ratef(x)constant第16页/共28页为什么要使用消息传递?集成性消息传递不需要一致的类型系统消息就是类型消息传递可以连接多个系统(.NET,J2EE,etc.)XML消息非常适合此类场景其它数据表现形式也可用(CSV,文本)消息传递的灵活性使得集成更容易第17页/共28页消息传递面临的挑战使用队列来通信,而不是对象双向通信需要至少2个队列:一个用于请求消息,另一个用于响应不存在会话状态时序 消息的到达可能是无序的同步通信需要进行更多的设计不存在对象标识消息进入队列,而不是对象不符合通常的客户/服务器模式类似“生产者消费

11、者”,甚至于“点对点”通信第18页/共28页小结消息传递提供了另一种通信手段消息传递具有灵活性消息传递具有可缩放性消息传递可以在多个管道上操作消息传递需要程序员考虑的更多在消息交换模式中,有很多不同的交换模式存在第19页/共28页面向消息的集成中间件设计实践第20页/共28页本节内容仅提供给现场听众本节内容仅提供给现场听众第21页/共28页展望Indigo与未来的集成第22页/共28页未来的挑战 极大的简化分布式应用程序开发不同的任务需要不同的编程模型不同的任务需要不同的编程模型不同的任务需要不同的编程模型不同的任务需要不同的编程模型我们需要安全和可靠的消息传递我们需要安全和可靠的消息传递我们

12、需要安全和可靠的消息传递我们需要安全和可靠的消息传递应用程序需要与其它平台互操作应用程序需要与其它平台互操作应用程序需要与其它平台互操作应用程序需要与其它平台互操作我们需要更有效的面向服务的编程模型我们需要更有效的面向服务的编程模型我们需要更有效的面向服务的编程模型我们需要更有效的面向服务的编程模型第23页/共28页今天的分布式技术今天的分布式技术今天的分布式技术今天的分布式技术ASMXWSE.NETRemotingSystem.MessagingEnterpriseServices第24页/共28页InteropInteropwith otherwith otherplatformsplat

13、formsASMXAttribute-Attribute-BasedBasedProgrammingProgrammingEnterprise ServicesWS-*WS-*ProtocolProtocolSupportSupportWSEMessage-Message-OrientedOrientedProgrammingProgrammingSystem.MessagingExtensibilityExtensibilityLocation Location transparencytransparency.NET RemotingIndigoIndigo统一的编程模型统一的编程模型第2

14、5页/共28页Basic WS-I 1.0 supportBasic WS-I 1.0 supportBased on the ASP.NET Based on the ASP.NET StackStackAdapter for WSE 2.0Adapter for WSE 2.0SQL-to-SQL data messagingSQL-to-SQL data messagingBinary protocolBinary protocolAdapter for IndigoIndigo transport channel Indigo transport channel BizTalk Ser

15、ver built BizTalk Server built natively on Indigo natively on Indigo foundationfoundationService Broker uses Indigo Service Broker uses Indigo transports for WS-*transports for WS-*interoperabilityinteroperability集成技术的未来之路第26页/共28页您的反馈对我们很重您的反馈对我们很重要要!非常感谢您参加今天的交流非常感谢您参加今天的交流第27页/共28页感谢您的观看!第28页/共28页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁