# 异步调用
## 说明
微服务接口支持异步调用,异步调用后,可通过上下文获取 CompletableFuture 做对应的处理\(get 或者 whenComplete 回调\)。
使用方法:将@ZebraReference 的 **async** 属性设置为 true 即可。
## 代码样例
```java
@ZebraReference(async=true)
private HelloService helloService;
public String sayHello(String name) {
helloService.sayHello(name);
CompletableFuture<String> resultFuture = (CompletableFuture<String>) RpcContext.getContext().getFuture();
// do other thing
return resultFuture.get();
}
```
- 简介
- 入门
- Docker方式
- 手工方式
- 环境搭建
- 简述
- 初始化服务器
- 安装 Etcd
- 初始化数据库
- 安装配置中心
- 安装服务中心
- 安装监控中心
- 安装API网关
- 开发第一个微服务
- 简述
- 准备工作
- 接口定义
- 实现
- 配置
- 部署
- 验证
- 微服务开发
- 服务调用
- 服务上下文
- 日志
- 高级特性
- 范化调用
- 异步调用
- ACL 控制
- 慢启动
- 消息大小
- 组件使用
- 简述
- 缓存
- MyBatis
- RocketMQ
- 分库分表
- 读写分离
- 分布式事务
- 分布式锁
- 运维管理
- 服务依赖
- 服务查询
- 服务方法查询
- 配置中心
- API网关配置
- 流量控制
- 简述
- 限流
- 熔断
- 系统保护
- 白名单
- 黑名单
- 监控
- 主动探测
- 调用链
- 日志开关
- 最佳实践
- 常见问题
- 深入 Zebra
- 架构
- 通信协议
- 路标