【剖析 | SOFARPC 框架】系列之 SOFARPC 泛化调用实现剖析

SOFA
Scalable Open Financial Architecture
是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。

本文为《剖析 | SOFARPC 框架》第七篇,作者莫那·鲁道 ,来自 E签宝。
《剖析 | SOFARPC 框架》系列由 SOFA 团队和源码爱好者们出品,
项目代号:<SOFA:RPCLab/>,官方目录目前已经全部认领完毕。

前言

我们知道,在 RPC 调用中,客户端需要加载服务端提供的接口定义类,但是,很多情况下,这个并不总是可行的,于是,衍生了泛化调用的需求,一个成熟的,功能完善的 RPC 框架一般都会支持泛化调用,那么什么是泛化调用呢?SOFA RPC 又是如何支持泛化调用的?同时又是如何实现的? 和其他的 RPC 泛化调用又有何不同?有何优势?我们将在本文一一解答这些问题。

泛化调用介绍

当客户端因为某种原因无法得到服务提供方的接口 jar 包时,或者是客户端是一个比较通用的系统,并不想依赖每个服务提供方提供的 facade接口,但是又需要进行调用,那么此时就需要进行泛化调用。

例如:

  1. 当分布式系统由多个语言开发,假设是 Node Js ,同时 Node Js 需要调用 Java 语言的 RPC 服务,那么,我们就需要在两者之间架设适配层,让适配层处理 Node Js 的请求后再转发给 Java 的 RPC 服务。
  2. 一些中间系统的功能,比如某些内部网关,需要以一个统一的方式实现对其他下游系统的调用(非 SPI的情况),逐个依赖下游的包显然是不可能的。
  3. 一些流量回放类的线上系统,可以将数据采集拦截,之后,通过泛化调用回放,而不需要依赖全站的应用。

转载于:https://my.oschina.net/u/3611008/blog/2873575

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值