手写 RPC 框架 笔记

rpc框架项目难点总结by小雨

难点一,etcd的使用和安装。

在注册中心那章开始卡住了,需要安装etcd。小雨在Linux服务器安装,安装完后,在项目中看不了效果。因为用的Java8,etcd的依赖不支持。后续用zookeeper,在Linux服务器中安装Java和zookeeper,终于在项目中实现了注册中心的效果。

还需要重点理解注册中心服务的代码逻辑,如何初始化,如何注册服务,如何发现服务等。

难点二,请求/响应的逻辑。

要清楚知道自己定义的配置类(注册中心配置类、rpc配置类)和模型类(请求、响应、注册元信息、服务注册)的属性值。一开始用http请求/响应,需要用到序列化和反序列化;之后用tcp请求/响应,需要用到编码和解码。

先启动提供端,初始化rpc的配置,然后注册服务(重点是服务名和请求地址),然后监听端口的请求;

之后启动消费端,初始化rpc和注册中心的配置,根据方法名获取服务的地址,然后请求对应服务的地址。

难点三,理解项目中的反射逻辑。

服务名对应的实现类,spi的加载也有,请求处理时也有使用。

难点四,设计自定义协议。

难点五,处理tcp请求中的半包粘包问题。

难点六,spi加载器的逻辑。

难点七,配置加载工具的逻辑。

难点八,注解的使用和springboot的注解加载逻辑。

还有...

PS 记录下要点,不断消化下,下次在看项目,重点查看相关代码的实现逻辑💪

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
雨后的路
下载 APP