1 Star 13 Fork 0

Leron / warm-rpc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Readme.md 1.36 KB
一键复制 编辑 原始数据 按行查看 历史
Leron 提交于 2023-03-09 13:16 . update readme

WarmRpc

一款基于 Netty 开发的简易版 Rpc 框架

项目亮点

  • 使用 Netty 进行网络传输
  • 支持 Spring-Boot 自动配置
  • 实现了 Java 原生、Jackson、Fastjson 三种序列化算法
  • 支持 jdk/cglib 动态代理的远程服务调用
  • 集成了 Nacos 注册中心
  • 实现轮询、随机算法
  • 优化网络传输,使用 gzip 压缩正文内容

安装

 <dependency>
    <groupId>com.ler.warmRpc</groupId>
    <artifactId>warm-rpc-core</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

使用

提供端使用 @RpcService 标注

@Service
@RpcService
public class UserServiceImpl implements UserService {

    @Value("${server.port}")
    public int port;

    @Override
    public String sayHello(String name) {
        return "提供者服务端口" + port + name;
    }
}

消费端使用

@RestController
public class ConsumerController {

    @RpcReference
    private UserService userService;

    @GetMapping("/hello")
    public String hello() {
        return userService.sayHello("leron");
    }
}

后续支持

  • 集成 ZK 注册中心
  • 实现重试机制
  • 实现超时、重试机制
  • 实现调用监控平台
  • 实现轻量级的NameServer
  • 支持 Java SPI 自定义配置
  • 实现一致性哈希、服务响应时间优先算法
  • 智能的客户端与服务端网络通道管理
Java
1
https://gitee.com/leronx/warm-rpc.git
git@gitee.com:leronx/warm-rpc.git
leronx
warm-rpc
warm-rpc
master

搜索帮助