rainthousand / Lu-Rpc

Lu-Rpc 的目标是成为广大 RPC 初学者的第一个轮子,欢迎star,凑够 200

Home Page:http://thinkinjava.cn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

开发者须知

开发者在修改、扩展框架时,需要阅读开发规范:

  1. 框架设计原则(梁飞)
  2. 汇总梁飞博客设计文章
  3. 框架设计上的十点基本常识
  4. Java-并发编程常识-by-梁飞

关于修改配置:

  1. 配置设计

Lu-Rpc

Lu-Rpc 是个专为学习者准备的 RPC 框架, 初始架构非常简单, 可供初学者扩展和学习.

Lu 可以认为是中文世界的撸, 即撸 Rpc--- 造个 Rpc 轮子.

Lu-Rpc 架构图如下:

Lu-Rpc 的领域模型设计借鉴 Dubbo, 服务域没有明显的界限. 核心域就是 Invoker, 非常合适作为核心领域模型的接口.

会话域可以是Request,也可以是 Invocation. 这个问题不大.

快速开始

进入 example 模块

先启动 ServerTest, 再启动 ClientTest.

待开发功能

  1. 自研基于 Raft 协议的注册中心(已开发结束,地址: https://github.com/stateIs0/lu-raft)
  2. Lu-Service-mesh
  3. 负载均衡
  4. 异常处理
  5. 异步调用,feature 调用。oneway 调用
  6. 连接管理,心跳管理
  7. 服务监控
  8. 服务优雅下线
  9. 无缝支持 SpringBoot
  10. 服务故障转移
  11. 服务链路追踪
  12. 支持分布式配置中心(自研或使用第三方)
  13. 自研网络通信框架。定义自己的 RPC 协议。
  14. 支持零拷贝序列化。
  15. 使用字节码增强,减少反射调用开销。
  16. 增加扩展点机制。
  17. 熔断(已开发结束)
  18. 限流(已开发结束)

欢迎提交 PR,issue。

本人微信:

image

About

Lu-Rpc 的目标是成为广大 RPC 初学者的第一个轮子,欢迎star,凑够 200

http://thinkinjava.cn


Languages

Language:Java 100.0%