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

我要开发同款
匿名用户2018年01月26日
158阅读

技术信息

开源地址
https://gitee.com/hank-whu/turbo-rpc
授权协议
Apache-2.0

作品详情

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

功能特点

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

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

支持REST调用。

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

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

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

支持sprigboot。

QuickStart

1.定义接口

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

2.服务端实现接口

@Compoetpublic class HelloServiceImpl implemets HelloService {@Overridepublic CompletableFuture<Strig> hello(Strig msg) {retur CompletableFuture.completedFuture(msg);}}

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

4.服务端启动

@SprigBootApplicatio(scaBasePackages = { "com.hello" })@EableTurboServerpublic class TruboServerBootTest {public static void mai(Strig[] args) {SprigApplicatio.ru(TruboServerBootTest.class, args);}}

5.客户端调用

@Compoetpublic class HelloReferTest {@AutowiredHelloService helloService;public void doSomeThig(Strig msg) {helloService.hello(msg).theAccept(message -> System.out.pritl(message));}}

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

7.客户端启动

@SprigBootApplicatio(scaBasePackages = { "com.hello" })@EableTurboClietpublic class HelloBootTest {public static void mai(Strig[] args) {SprigApplicatio.ru(HelloBootTest.class, args);}}

功能介绍

turbo-rpc 是一款速度超凡的异步响应式RPC框架。 功能特点 仅支持异步调用,Service接口所有public方法返回值都必须为CompletableFuture。 配置定义在Serv...

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

评论