字节跳动-段潇涵-深入浅出 Node.js RPC.pdf

编号:155790 PDF 41页 6.01MB 下载积分:VIP专享
下载报告请您先登录!

字节跳动-段潇涵-深入浅出 Node.js RPC.pdf

1、深浅出 Node.js RPC段潇涵 Node.js 研发程师个简介段潇涵在字节负责 Node.js Infra 程向的作,主要致于建设 Node.js 相关的基建:公司内框架,适配公司基建的 Node.js 基础库、私有 NPM 仓库等。录 RPC 简介 Node.js RPC 技术架构 RPC 性能优化过程 Q&ARPC 简介 RPC 是什么 RPC 业界案 RPC 常场景RPC 是什么RPC 是 Remote Procedure Call 的简称,是种通的络调式,的是能像在本地调法样调不同服务的法,具备跨语、性能的特点,泛应于后端服务之间的通信。客户端服务端服务发现代码成序列化代码调代码

2、协议层接定义语(IDL)序列化/反序列化传输层HTTPTCP RPC 业界案 DUBBO(阿 B2B 开源)主要 protobuf 协议,也持 hessian 等协议;基于 TCP 连接;SOFA-RPC(蚂蚁开源,源于阿淘系的 hsf)主要 hessian,也持 protobuf 协议;基于 TCP 连接;GRPC(Google)使 ProtoBuf 协议;基于 HTTP2;THRIFT(Meta)使 Thrift 协议;基于 TCP 连接;RPC 常场景RPC 常在微服务架构中,撑各服务间通信,与 HTTP 相的些优势 更快且更省空间 更强的契约Node.js RPC 技术架构 Handl

3、e ConfigCenter Middleware Connection ProtocolNode.js RPC 技术架构RPC 的架构设计中主要有五个概念(在 Client/Server 中通),分别是:Handle,ConfigCenter,Middleware,Connection,Protocol。Node.js RPC 技术架构-HandleHandle 是 Client/Server 的下级模型,是 RPC Client 调或者 RPC Server 被触发调的,封装了次调/被调的执过程,通过中间件的洋葱模型将调及触发调的流程进组合。IDL 中的每个 method,都会实例化个 H

4、andle 实例。Node.js RPC 技术架构-ConfigCenter顾名思义,ConfigCenter 就是配置中的模型,于管理 RPC 的动态配置,如:超时配置、失败重试策略、安全策略、压测开关 等等,ConfigCenter 分成了两个版本 v1 和 v2,两个版本读取源不同:V1:基于 etcd 实现;V2:基于 service mesh 实现配置的覆盖优先级:应配置 配置中 默认配置。Node.js RPC 技术架构-MiddlewareRPC 中的中间件跟 Koa.js 是相似的设计,差异是有 initContext、execute、releaseContext 三个阶段,于

5、各个中间件对上下做初始化操作、执、对上下做释放操作。RPC 通过中间件能持了次请求/响应中的 trace、metrics、失败重试、熔断等能。Node.js RPC 技术架构-ConnectionConnection 是连接的抽象模型,具体能在 Client 和 Server 中有些许不同,主要对 socket 做了层封装,提供 API 进数据的写或者读取,也提供了读写加锁、缓冲写、连接池等能,主要分成以下种类型:tcp-consul:consul 服务发现的 tcp connection 对象(本地或者未开 mesh 出流量);tcp-mesh:固定连 mesh 的 tcp connecti

6、on 对象;tcp-native:读取 servers 配置进硬负载,mesh 环境下效;http-mesh:连 mesh 的 http connection 对象;http-native:读取 servers 配置进硬负载;Node.js RPC 技术架构-Connection对下游 RPC 服务发起个请求的时候,会通过连接池分配个空闲的连接(如果没有则创建个),然后再使该连接进通信,此时这个连接会被占。此时如果再对同个服务发起同个请求,将会重新分配个新的连接。Node.js RPC 技术架构-Connection Timeout:总超时 Connect Timeout:连接超时 Read/

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(字节跳动-段潇涵-深入浅出 Node.js RPC.pdf)为本站 (张5G) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠