turbo-rpc是一款速度超凡的异步响应式RPC框架。
功能特点仅支持异步调用,Service接口所有public方法返回值都必须为CompletableFuture。
配置定义在Service接口上,而非实现类上,方法实现者和调用者都不需要引入奇奇怪怪的注解。
支持REST调用。
支持失败回退,支持熔断,支持心跳,支持自动重连。
支持自定义服务注册负载均衡序列化。
支持Filter,可通过该机制实现Tracig限流限速黑白名单等功能。
支持sprigboot。
QuickStart1.定义接口
@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);}}









评论