• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

turbo-rpc

开源软件地址:

https://gitee.com/hank-whu/turbo-rpc

开源软件介绍:

turbo-rpc

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

功能特点

  • 仅支持异步调用, Service 接口所有 public 方法返回值都必须为 CompletableFuture
  • 配置定义在 Service 接口上, 而非实现类上, 方法实现者和调用者都不需要引入奇奇怪怪的注解
  • 支持 REST 调用
  • 支持失败回退, 支持熔断, 支持心跳, 支持自动重连
  • 支持自定义 服务注册 负载均衡 序列化
  • 支持 Filter, 可通过该机制实现 Tracing 限流限速 黑白名单 等功能
  • 支持 spring boot

Quick Start

Maven依赖:

<!-- 必须引入 --><dependency>    <groupId>com.turbo-rpc</groupId>    <artifactId>turbo-rpc</artifactId>    <version>0.0.9</version></dependency><!-- 序列化方式,kryo protostuff 两个中任选一个 --><dependency>    <groupId>com.turbo-rpc</groupId>    <artifactId>turbo-kryo</artifactId>    <version>0.0.9</version></dependency><!-- 序列化方式,kryo protostuff 两个中任选一个 --><dependency>    <groupId>com.turbo-rpc</groupId>    <artifactId>turbo-protostuff</artifactId>    <version>0.0.9</version></dependency><!-- zk注册中心,可选引入 --><dependency>    <groupId>com.turbo-rpc</groupId>    <artifactId>turbo-register-zk</artifactId>    <version>0.0.9</version></dependency><!-- SpringBoot集成,可选引入 --><dependency>    <groupId>com.turbo-rpc</groupId>    <artifactId>turbo-spring-boot-starter</artifactId>    <version>0.0.9</version></dependency>

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 {	@Override	public 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 {	@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" })@EnableTurboClientpublic class HelloBootTest {	public static void main(String[] args) {		SpringApplication.run(HelloBootTest.class, args);	}}

turbo 技术原理


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap