Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
西红柿炒蛋不加盐
guide-rpc-framework
提交
abfa149c
G
guide-rpc-framework
项目概览
西红柿炒蛋不加盐
/
guide-rpc-framework
与 Fork 源项目一致
Fork自
嗝屁小孩纸 / guide-rpc-framework
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
guide-rpc-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
abfa149c
编写于
7月 21, 2020
作者:
G
guide
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[feat]update readme
上级
31fb363b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
2 addition
and
2 deletion
+2
-2
README.md
README.md
+2
-2
未找到文件。
README.md
浏览文件 @
abfa149c
...
...
@@ -50,17 +50,17 @@ guide-rpc-framework 是一款基于 Netty+Kyro+Zookeeper 实现的 RPC 框架。
-
[
x] 使用 `CompletableFuture` 包装接受客户端返回结果(之前的实现是通过 `AttributeMap` 绑定到 Channel 上实现的) 详见:[使用 CompletableFuture 优化接受服务提供端返回结果
](
./docs/使用CompletableFuture优化接受服务提供端返回结果.md
)
-
[x]
**增加 Netty 心跳机制**
: 保证客户端和服务端的连接不被断掉,避免重连。
-
[x]
**客户端调用远程服务的时候进行负载均衡**
:调用服务的时候,从很多服务地址中根据相应的负载均衡算法选取一个服务地址。ps:目前只实现了随机负载均衡算法。
-
[x]
**处理一个接口有多个实现的情况**
:对服务分组,发布服务的时候增加一个 group 参数即可。
-
[x]
**集成 Spring 通过注解注册服务**
-
[ ]
**对 SPI 机制的运用**
-
[ ]
**增加可配置比如序列化方式、注册中心的实现方式,避免硬编码**
:通过 API 配置,后续集成 Spring 的话建议使用配置文件的方式进行配置
-
[ ]
**使用注解进行服务配置和消费**
-
[ ]
**处理一个接口有多个实现的情况**
:对服务分组,发布服务的时候增加一个 group 参数即可。
-
[ ]
**增加服务版本号**
:建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级。为什么要增加服务版本号?为后续不兼容升级提供可能,比如服务接口增加方法,或服务模型增加字段,可向后兼容,删除方法或删除字段,将不兼容,枚举类型新增字段也不兼容,需通过变更版本号升级。
-
[ ]
**客户端与服务端通信协议(数据包结构)重新设计**
,可以将原有的
`RpcRequest`
和
`RpcReuqest`
对象作为消息体,然后增加如下字段(可以参考:《Netty 入门实战小册》和 Dubbo 框架对这块的设计):
-
**魔数**
: 通常是 4 个字节。这个魔数主要是为了筛选来到服务端的数据包,有了这个魔数之后,服务端首先取出前面四个字节进行比对,能够在第一时间识别出这个数据包并非是遵循自定义协议的,也就是无效数据包,为了安全考虑可以直接关闭连接以节省资源。
-
**序列化器编号**
:标识序列化的方式,比如是使用 Java 自带的序列化,还是 json,kyro 等序列化方式。
-
**消息体长度**
: 运行时计算出来。
-
......
-
[ ]
**集成 Spring**
-
[ ]
**编写测试为重构代码提供信心**
### 项目模块概览
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录