返回介绍

SOFARPC 工程架构介绍

发布于 2021-04-06 08:50:09 字数 3147 浏览 1262 评论 0 收藏 0

架构图

SOFARPC 从下到上分为两层:

  1. 核心层:包含了我们的 RPC 的核心组件(例如我们的各种接口、API、公共包)以及一些通用的实现(例如随机等负载均衡算法)。
  2. 功能实现层:所有的功能实现层的用户都是平等的,都是基于扩展机制实现的。

蚂蚁内部使用的版本也只是开源版本上增加一些内部扩展而已。

当然你也可以增加自己三方扩展,参见:扩展机制

模块划分

各个模块的实现类都只在自己模块中出现,一般不交叉依赖。需要交叉依赖的全部已经抽象到core或者common模块中。

主要模块及其依赖如下:

模块名子模块名中文名说明依赖
all发布打包模块需要打包的全部模块
bom依赖管控模块依赖版本管控
example示例模块all
test测试模块包含集成测试all
coreapiAPI模块各种基本流程接口、消息、上下文、扩展接口等common
corecommon公共模块utils、数据结构exception
coreexception异常模块各种异常接口等common
bootstrap启动实现模块启动类,发布或者引用服务逻辑、以及registry的操作core
proxy代理实现模块接口实现代理生成core
client客户端实现模块发送请求、接收响应、连接维护、路由、负载均衡、同步异步等core
server服务端实现模块启动监听、接收请求,发送响应、业务线程分发等core
filter拦截器实现模块服务端和客户端的各种拦截器实现core
codec编解码实现模块例如压缩,序列化等core
protocol协议实现模块协议的包装处理、协商core
transport网络传输实现模块TCP连接的建立,数据分包粘包处理,请求响应对象分发等core
registry注册中心实现模块实现注册中心,例如zk等core

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文