[经验分享] 一小时带你理解RPC核心原理

何小锋,京东技术架构部首席架构师。专栏《RPC 实战与核心原理》

RPC是构建分布式基石。

  • 面向服务,SOA

  • 去中心化,微服务

  • 容器化,持续交互,云原生

标准RPC是什么样的?

image-20200711011944321

RPC架构概要

image-20200711012008552

协议

数据流-请求1-请求2-…-请求N

序列化

把对象转成可传输的二进制

  • JDK

    只适用于java

  • Json

    包大小比较大,数据量不大时有优势,跨语言

  • Hessian

    也不错

  • Protobuf

    GRPC,跨语言支持比较强

反序列化安全问题

白名单:

  1. 扫描接口类声明的类型
  2. 系统内置白名单
  3. 用户定义白名单

服务发现

image-20200710202825243

健康检查

image-20200710202945367

健康状态才有流量。

负载均衡

image-20200710203157649
  • 随机负载

  • 一致性Hash负载

  • 自适应负载

    调用方知道后台负载是怎样的,自动分配流量。

集群策略

image-20200710203740681
  • 快速失败
  • 失败重试
  • 定点调用

流量治理

image-20200710204125624
  • 识别调用来源
  • 单节点限流:平滑限流算法
  • 集群限流

业务分组

image-20200710204648820

增强安全认证

image-20200710205006427

学习RPC方法

image-20200710205316200

大量的网络编程知识。

  • c++ RPC框架:grpc、brpc(baidu)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值