simple-rpc 是一款基于 netty 的 RPC 框架, 现有功能 :
基本的客户端、服务端交互
提供代理实现接口
spring 集成, xml配置和Java Config配置方式
服务发布订阅 DONE
断线重连 DONE
RoadMap
服务心跳检测
连接池
服务注册发布功能
服务管理、监控
服务调用日志链路跟踪
集成swagger功能,提供文档、测试、客户端生成
使用示例
// 服务接口 public interface IHello { ` String say(String hello); int sum(int a, int b); int sum(Integer a, Integer b); } // 服务实现 public class HelloImpl implements IHello { public String say(String hello) { return "return " + hello; } public int sum(int a, int b) { return a + b; } public int sum(Integer a, Integer b) { return a + b * 3; } } // 客户端代码 // beanJavaConfig方式 @Bean public CountService countService() { RpcClientWithLB rpcClientWithLB = new RpcClientWithLB("fyes-counter"); rpcClientWithLB.setZkConn("10.4.105.252:2181"); rpcClientWithLB.init(); CountService countService = rpcClientWithLB.newProxy(CountService.class); return countService; } // 服务端发布 // xml配置方式 <bean class="com.github.liuzhengyang.simplerpc.ServerFactoryBean" init-method="start"> <property name="serviceInterface" value="com.test.liuzhengyang.CountService"/> <property name="port" value="8888"/> <property name="serviceName" value="fyes-counter"/> <property name="serviceImpl" ref="countServiceImpl"/> <property name="zkConn" value="127.0.0.1:2181"/>