基于Dubbo的跨语言服务治理框架概述.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Dubbo的跨语言服务治理框架 Aliware DUBBO Brand Open source products 引言 ➢ 跨语言SOA不是刚需,使用场景并不多; ➢ 跨语言特性实际是RPC层的支持,本质是协议层面的支持; ➢ 如果SOA框架支持跨语言的RPC和对应语言的客户端,实际上也就满足了业务层面的跨语言支持。 那此次分享的主要目的是什么? 目 录 1 2 Dubbo核心实现 3 跨语言SOA 1 再聊RPC RPC结构 协议编解码 调用编码: ➢ 接口方法:接口名、方法名 ➢ 方法参数:参数类型、参数值 ➢ 调用属性:调用属性信息,例如调用附件隐式参数、调用超时时间等 返回编码: ➢ 接口结果:接口方法中定义的返回值 ➢ 返回码:异常返回码 ➢ 返回异常信息:调用异常信息 举个小栗子: public interface{ public int test(String a); } 概念上的 RPC ➢magic : 协议魔数,为解码设计 ➢header size: 协议头长度,为扩展设计 ➢version : 协议版本,为兼容设计 一 个 思 考 : ➢st : 消息体序列化类型 ➢hb : 心跳消息标记,为长连接传输层心跳设计 Dubbo协议不跨语言 ➢ow : 单向消息标记, ➢rp : 响应消息标记,不置位默认是请求消息 Thift协议跨语言 ➢status code: 响应消息状态码 ➢reserved : 为字节对齐保留 上面描述是否严谨 ➢message id : 消息 id ➢body size : 消息体长度 绝大部分PRC框架都有自己的协议 2 Dubbo 核心 大家熟知的几大组件 没啥好说的,还是站在设计和实现层面分析下 一些核心功能(顺便吐槽下,开源版本的zk注册中心 和监控中心不具备大规模能力) Dubbo协议 请 求 类 型 : FLAG_REQUEST :消息请求类型为消息请求。 requstflag :高4位请求类型 FLAG_TWOWAY :消息请求类型为心跳。 serializationId :低4位标示序列化方式 FLAG_EVENT :消息请求类型为事件。 Response status :响应码 序 列 化 方 式 : Request id :8个字节是请求id DubboSerialization:0001 Body length后面4个字节是body内容大小 FastJson

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档