Skip to content

icodening/nrpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

adeb160 · May 27, 2021

History

61 Commits
Jan 29, 2021
Apr 5, 2021
May 27, 2021
Apr 5, 2021
Apr 5, 2021
Apr 5, 2021
Apr 4, 2021
Apr 4, 2021
Apr 5, 2021
May 27, 2021
Dec 21, 2020
Apr 4, 2021
Apr 5, 2021

Repository files navigation

nrpc

项目介绍

nRPC是一个简单轻量的开源RPC框架,包含常见的RPC功能。
如:服务注册、服务发现、负载均衡、流量控制、服务降级、服务熔断等功能。
该开源项目仅供学习,请勿用于其他用途。
当前项目问题较多,部分功能未实现,仅供学习参考

项目模块

nrpc-aop

AOP切面的实现,暂仅支持JDK动态代理的方式。

nrpc-common

部分rpc通用模型,如协议的实现

nrpc-config

RPC的配置模块,包含rpc consumer provider的配置模型,以及启动扩展点

nrpc-core

项目的基础核心模块,包含SPI机制的实现、常用工具类、基本接口定义、事件机制、Service Provider的多种作用域实现等。

nrpc-example

该RPC的使用Demo

nrpc-invoker

RPC调用器模块,包含集群支持、负载均衡、请求拦截器等功能

nrpc-plugin

nrpc插件模块,该模块主要用于动态增强Service Provider的功能。
目前默认基础实现如下:

  1. Service Provider 初始化功能
  2. Boot 引导类实例自动销毁功能
  3. 异步任务功能
  4. 打印方法耗时功能

nrpc-registry

nrpc的注册服务模块,主要用于服务的注册、反注册、订阅、反订阅等功能

nrpc-spring

nrpc对接Spring的模块,可在Spring下方便使用nrpc

nrpc-transport

nrpc的传输模块,也是RPC的核心。该模块用于实现服务与服务之间的网络通讯i

后续还会有其他模块加入......

学习参考实现

Dubbo
Spring

About

一个用于学习的个人RPC项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages