异步响应式 RPC 框架 turbo-rpc

码农软件 · 软件分类 · RPC/XMLRPC项目 · 2019-04-11 07:29:40

软件介绍

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

功能特点

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

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

  • 支持REST调用。

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

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

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

  • 支持spring boot。

Quick Start

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.服务端实现接口

@Component
public class HelloServiceImpl implements HelloService {
	@Override
	public CompletableFuture<String> hello(String msg) {
		return CompletableFuture.completedFuture(msg);
	}
}

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

4.服务端启动

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

5.客户端调用

@Component
public class HelloReferTest {
	@Autowired
	HelloService helloService;

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

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

7.客户端启动

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

本文地址:https://codercto.com/soft/d/3322.html

《电脑报》2005年合订本(上下)

《电脑报》2005年合订本(上下)

电脑报社主编 / 西南师范大学出版社 / 2006-1 / 45.00元

全套上、下两册,浓缩2005年电脑报精华文章;附录包含70余篇简明IT应用指南,涵盖软件、硬件、数码、网络四大领域,配赠权威实用的2005-2006中国计算机年鉴光盘,近1.4GB海量信息与资源超值奉献,提供2005-2006全系列硬件、数码产品资讯,兼具知识性与资料性,连结购买每年《电脑报合订本》,你将拥有一套完整的实用大型电脑文库。一起来看看 《《电脑报》2005年合订本(上下)》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具