- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARC34消息传递-面向消息的中间件设计基础-Microsoft.ppt
ARC314消息传递 -面向消息的中间件设计基础 日程 应用集成技术的发展与回顾 消息传递基础 面向消息的集成中间件设计实践 展望Indigo与未来的集成 应用集成中间件设计的目标 应用程序之间需要互相“交谈” 不违反“Once and Only Once”规则 在计算的过程中需要集中处理以确保正确性 在计算的过程中需要分布处理以确保可缩放性 总之机器与机器需要进行“交谈” 传统建议我们使用RPC来解决这一问题 “让远程通信和本地调用一样容易 定义一个接口 编写服务器端实现 工具生成两者之间需要的通信管道 RPC 编程模型 RPC存在的问题 RPC方法忽略了: 延迟 (网络、应用程序) 部分失败和并发 … RPC存在的问题 RPC让通信更容易,但代价是: 请求/响应通信 针对每一个请求,我们期望一个响应 阻塞调用者线程直到接收到响应(或者响应超时) 代理和Stub强绑定 强绑定和类型一致使得编程容易 但强绑定和类型一致使得变化非常困难 RPC暴露行为 解决方案: 消息传递 系统间通过管道通信 管道有逻辑地址 发送应用程序将消息放到管道中,然后处理其它工作(“fire-and-forget”) 管道将数据排队直到被接收应用程序使用(FIFO) 解决方案: 消息传递 RPC的本质 RPC == 请求消息 + 响应消息 把消息分开,独立处理 允许不同的消息交换模式 消息传递暴露数据 替代基于接口来创建约束 (RPC)… 基于消息类型来创建约定 (messaging) 上下文完整的通信 面向消息的中间件Message-Oriented Middleware (MOM) 消息 = 消息头 (路由信息) + 消息正文 支持异步发送 不指定格式(松散约束) 目的地 = 命名的消息存储仓库 解耦合消息的产生者与消费者 便于重定向或者改变调用流程 运行环境 = 多样化的发送方式 服务质量: Reliable, transacted, prioritized, deadline-based 通信方式: publish-and-subscribe等. 消息交换模式 Request-response, fire-and-forget, request-async response 消息传递架构模式 消息传递是一种架构模式,而不是一种技术 我们可以使用一个数据库来实现消息传递,但使用数据库不地表我们使用的是消息传递 与SOA/Web Services的争论对比: 我们可以不使用Web Services来构建SOA 使用Web Services并不能保证是SOA 架构模式由一组词汇、结构和设计约束组成 消息传递系统举例 文件传输 消息: 文件 目的地: 文件系统目录 运行环境: 操作系统的文件系统 数据库 消息: 数据集 目的地: 数据库表 运行环境: 数据库 JMS/MSMQ 消息: byte, text, object, stream … 目的地: 队列 (point-to-point), 主题 (publish-subscribe) 运行环境: MOM环境支持 SOAP 消息: SOAP XML format 目的地: (取决于传送方式) 运行环境: WebLogic, WS-Reliable Messaging 为什么要使用消息传递 灵活性 可缩放性 高负载的平缓释放 集成性 为什么要使用消息传递?灵活性 更多的数据流选择 Fire-and-forget, multicast, disconnected, load-balancing, flow control, priority routing等. 多粒度的处理逻辑 Routing Slip Content-Based Router 更容易维护和变化 消息格式的变化不需要重新编译不相关的客户端 消息流的传递不需要修改中间结点 避免并发死锁 (和RPC响应阻塞相比) 为什么要使用消息传递?可缩放性 竞争消费 – 多个处理端可以读取同一队列 发送端不需要进行任何改变 粗粒度消息可以使处理端成为“无状态” 为什么要使用消息传递?高负载的平缓释放 队列中存储的消息将会等待被处理 消息处理端或消费者会经可能快的取走消息 如果处理端阶段无法继续: 我们可以增加更多的处理端 或者等待峰值负载被释放 为什么要使用消息传递?集成性 消息传递不需要一致的类型系统 消息就是类型 消息传递可以连接多个系统(.NET,J2EE,etc.) XML消息非常适合此类场景 其它数据表现形式也可用 (CSV,文本) 消息传递的灵活性使得集成更容易 消息传递面临的挑战 使用队列来通信,而不是对象 双向通信需要至少2个队列:一个用于请求消息,另一个用于响应 不存在会话状态 时序 – 消息的到达可能是无序的
您可能关注的文档
- 05健康与体育补考题库.doc
- 05学年度四技二专统一入学测验.PDF
- 08-4特种黏合剂-压敏胶.ppt
- 09年MEMS惯性传感器现状及200年发展趋势-北天星国际有限公司.PDF
- 0建筑节能材料与功能材料.ppt
- 10kV变电站土建设计深度及选站注意事项.ppt
- 2+污泥高效处理技术.ppt
- 2-203年硕士研究生招生专业目录-中国中医科学院.doc
- 2-2PN接面二极体.ppt
- 2-2电脑系统元件.ppt
- 山东省济南市2025届高三下学期3月模拟考试数学试题和答案详解.pdf
- 辩证唯物主义和历史唯物主义 课件高考政治二轮复习统编版必修四哲学与文化.pptx
- 第八课 把握辩证分合 课件-高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 第七课 经济全球化与中国 课件高考政治一轮复习统编版选择性必修一当代国际政治与经济 .pptx
- 第二课 依法有效保护财产权 课件-高考政治一轮复习统编版选择性必修二法律与生活.pptx
- 建筑工程项目成本管理的方法与实践.docx
- 第七课 学会归纳与类比推理 课件-高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 第七课 治国理政的基本方式 课件高考政治一轮复习统编版必修三政治与法治.pptx
- 江苏省南京市鼓楼区2024~2025学年九年级上学期期末物理模拟试卷.docx
- 第三课 我国的经济发展 课件高考政治一轮复习统编版必修二经济与社会 (1).pptx
文档评论(0)