异步响应式 RPC 框架 turbo-rpc
- 授权协议: Apache-2.0
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: https://gitee.com/hank-whu/turbo-rpc
- 软件文档: https://gitee.com/hank-whu/turbo-rpc/blob/master/README.md
软件介绍
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);
}
}
Beginning ARKit for iPhone and iPad
Wallace Wang / Apress / 2018-11-5 / USD 39.99
Explore how to use ARKit to create iOS apps and learn the basics of augmented reality while diving into ARKit specific topics. This book reveals how augmented reality allows you to view the screen on ......一起来看看 《Beginning ARKit for iPhone and iPad》 这本书的介绍吧!
