消息传递面向消息的中间件设计基础.pptx
《消息传递面向消息的中间件设计基础.pptx》由会员分享,可在线阅读,更多相关《消息传递面向消息的中间件设计基础.pptx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 消息 传递 面向 中间件 设计 基础
限制150内