项目真正启动是在 19 年 5 月吧,因为懒,中间停了起码半年,最近又开始拾了起来,撸起袖子接着干,终于在这几天撸出来了,别说了,我又要去养养身子了。。。。
Xmutca-rpc 是一个基于 netty 开发的分布式服务框架,提供稳定高性能的 RPC 远程服务调用功能,支持注册中心,服务治理,负载均衡等特性,开箱即用。
1. maven 配置 <dependency> <groupId>com.xmutca</groupId> <artifactId>xmutca-rpc-core</artifactId> <version>0.0.1-SNAPSHOT </version> </dependency> <dependency> <groupId>com.xmutca</groupId> <artifactId>xmutca-rpc-spring</artifactId> <version>0.0.1-SNAPSHOT </version> </dependency> <dependency> <groupId>com.xmutca</groupId> <artifactId>xmutca-rpc-registry-nacos</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> 2. 定义接口 public interface HelloService { /** * test * @param msg * @return */ String sayHello(String msg); } 3. 提供者实现接口 @Component @Provider(interfaceClass = HelloService.class) public class HelloServiceImpl implements HelloService { @Autowired private TestService testService; @Override public String sayHello(String msg) { return testService.test() + " -> " + msg; } } 4. 提供者配置 rpc: registry: nacos://localhost:8848 # 注册中心地址 provider: # 提供者配置 corePoolSize: 60 # 核心线程数 maxPoolSize: 300 # 最大线程数 port: 8886 # 提供者端口 scanPackage: com.xmutca.rpc.provider.facade # 扫描提供者包路径 metadata: # 服务元数据 group: "order" # 服务分组 serviceName: "test" # 服务名称 version: "v1.0.0" # 服务版本 5. 启动提供者 @EnableXmutcaRpc @SpringBootApplication public class XmutcaSpringProviderApplication { public static void main(String[] args) { SpringApplication.run(XmutcaSpringProviderApplication.class, args); } } 6. 消费者引用 @RestController @RequestMapping public class ControllerTest { @Reference(serviceName = "test", group = "order", interfaceClass = HelloService.class) private HelloService helloService; @RequestMapping("/test") public Object test() { return helloService.sayHello("test"); } } 7. 消费者配置 rpc: registry: nacos://localhost:8848 consumer: - timeout: 1000 # 超时配置 metadata: group: "order" # 服务分组 serviceName: "test" # 服务名称 version: "v1.0.0" # 服务版本 8. 启动消费者 @EnableXmutcaRpc @SpringBootApplication public class XmutcaSpringConsumerApplication { public static void main(String[] args) { SpringApplication.run(XmutcaSpringConsumerApplication.class, args); } }
此项目欢迎各位 v 友试用,互相学习,如有 bug 及时反馈,谢谢。
1 zzmFina 2020-05-29 17:57:22 +08:00 居然没人回复 |
2 Cmxxx 2020-05-29 18:38:15 +08:00 好厉害 |
![]() | 3 pomelotea2009 2020-05-30 07:46:49 +08:00 via Android 为楼主的毅力点赞 |
![]() | 4 labulaka521 2020-05-30 09:57:38 +08:00 via Android 赞 |
![]() | 5 OctopusGO 2020-06-01 00:20:32 +08:00 via iPhone 厉害,学习了 |
6 ala2008 2020-06-01 10:03:12 +08:00 可以写个教程,菜鸟搞不定啊 |
![]() | 7 pwh19920920 OP @ala2008 小哥你说的教程是这个 rpc 框架的实现原理吗? |