turbo-rpc 异步响应式 RPC 框架开源项目

我要开发同款
匿名用户2018年01月26日
43阅读
开发技术Java
所属分类RPC/XMLRPC项目、Web应用开发
授权协议Apache-2.0

作品详情

turbo-rpc是一款速度超凡的异步响应式RPC框架。

功能特点

仅支持异步调用,Service接口所有public方法返回值都必须为CompletableFuture。

配置定义在Service接口上,而非实现类上,方法实现者和调用者都不需要引入奇奇怪怪的注解。

支持REST调用。

支持失败回退,支持熔断,支持心跳,支持自动重连。

支持自定义服务注册负载均衡序列化。

支持Filter,可通过该机制实现Tracing限流限速黑白名单等功能。

支持springboot。

QuickStart

1.定义接口

@TurboService(version = "1.0.0")public interface HelloService {@TurboService(version = "1.0.0", rest = "hello")default CompletableFuture<String> hello(String msg) {// default实现会自动注册为失败回退方法,当远程调用失败时执行return CompletableFuture.completedFuture("error");}}

2.服务端实现接口

@Componentpublic class HelloServiceImpl implements HelloService {@Overridepublic CompletableFuture<String> hello(String msg) {return CompletableFuture.completedFuture(msg);}}

3.配置turbo-server.conf,声明服务器地址序列化协议注册地址等信息

4.服务端启动

@SpringBootApplication(scanBasePackages = { "com.hello" })@EnableTurboServerpublic class TruboServerBootTest {public static void main(String[] args) {SpringApplication.run(TruboServerBootTest.class, args);}}

5.客户端调用

@Componentpublic class HelloReferTest {@AutowiredHelloService helloService;public void doSomeThing(String msg) {helloService.hello(msg).thenAccept(message -> System.out.println(message));}}

6.配置turbo-client.conf,声明服务器地址序列化协议注册地址等信息

7.客户端启动

@SpringBootApplication(scanBasePackages = { "com.hello" })@EnableTurboClientpublic class HelloBootTest {public static void main(String[] args) {SpringApplication.run(HelloBootTest.class, args);}}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论