全部产品

SOFARPC 工程架构介绍

更新时间:2021-02-09 10:37:09

本文进行SOFARPC工程架构介绍。

架构图

SOFARPC 从下到上分为两层:

  1. 核心层:包含了 RPC 的核心组件(例如各种接口、API、公共包)以及一些通用的实现(例如随机等负载均衡算法)。

  2. 功能实现层:所有的功能实现层的用户都是平等的,都是基于扩展机制实现的。

架构图

模块划分

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

目前模块划分如下:

模块划分

主要模块及其依赖如下:

模块名

子模块名

中文名

说明

依赖

all

发布打包模块

需要打包的全部模块

all

bom

依赖管控模块

依赖版本管控

example

示例模块

all

test

测试模块

包含集成测试

all

core

api

API模块

各种基本流程接口、消息、上下文、扩展接口等

common

core

common

公共模块

utils、数据结构

exception

core

exception

异常模块

各种异常接口等

common

bootstrap

启动实现模块

启动类,发布或者引用服务逻辑、以及 registry 的操作

core

proxy

代理实现模块

接口实现代理生成

core

client

客户端实现模块

发送请求、接收响应、连接维护、路由、负载均衡、同步异步等

core

server

服务端实现模块

启动监听、接收请求,发送响应、业务线程分发等

core

filter

拦截器实现模块

服务端和客户端的各种拦截器实现

core

codec

编解码实现模块

例如压缩,序列化等

core

protocol

协议实现模块

协议的包装处理、协商

core

transport

网络传输实现模块

TCP 连接的建立,数据分包粘包处理,请求响应对象分发等

core

registry

注册中心实现模块

实现注册中心,例如 zk 等

core