weight在服务发起方dubbo:service标签中配置
指定方法使用缓存
缓存策略
dubbo异步
1.什么时候需要使用异步?
当你需要同时调用多个Dubbo服务,这些服务又没有先后顺序,就可以使用异步调用。
2.如何开启异步调用?
//优惠服务
@Reference(async = true)
private PromotionDubboService promotionDubboService;
//库存服务
@Reference(async = true)
private InventoryDubboService inventoryDubboService;
3.如何获取异步结果
如果后续还有异步调用,该Future会被覆盖 (每个服务后面接这行代码就能取到上一个服务的返回结果)
Future promotionFuture = RpcContext.getContext().getFuture();
4.async源码分析
无论是否设置异步调用,Dubbo底层其实都是会使用异步调用。区别在于如果async=false,则Dubbo会自动调用Future.get()方法获取结果,如果async=true,则只能手动调用Future.get()方法获取结果。
事件回调
引用接口时定义回调的方法(消费方)
一般回调方法有两个参数,一个是回调结果,一个是请求时的入参