【分布式服务】RPC 简介

分布式服务 RPC 简介

一、简述

  1. wiki 介绍
  • remote procedure call
    • procedure [prəˈsiːdʒə®] 过程
    • subroutine [ˈsʌbruːtiːn] 子程序
  • 核心:像调用本地方法一样调用远程方法

In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction

  1. 核心流程
Clinet Method                  Server Method  
     ↓                              ↑
Clinet Stub                    Server Stub
     ↓                              ↑
Serialization    - Network →   Deserialization

-- request ----------------------------------
------------------------------------ reply --

Deserialization  ← Network -   Serialization
     ↓                              ↑
Clinet Stub                    Server Stub
     ↓                              ↑
Clinet Method                  Server Method  

二、原理

  1. RPC 设计实现
  • 核心:实体定义接口定义

  • IDL

    • 接口定义语言 Interface Difinition Language
    • JNI、JSON-WSP、WADL、WSDL
    • Protocol Buffers、RESTful Service Description Language (RSDL)
  1. 序列化
  • 编程语言内置
  • 二进制
    • Hession
    • Avro
    • Kryo
    • FST (fast-serialization)
  • 通用
    • XML
    • JSON
  1. 网络协议
  • http/https
  • tcp/udp

三、框架/工具

  1. gRPC
  2. Thrift
  3. Protocol Buffer
  4. Dubbo
  5. Finagle
  6. Spring Cloud
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值