- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 Dubbo笔记衍生篇⑧:事件通知 FutureFilter
FutureFilter 的功能比较简单,完成了事件回调的功能,可以借此完成一些通知功能等。具体来说为在调用之前、调用之后、出现异常时,会触发 oninvoke、onreturn、onthrow 三个事件,可以配置当事件发生时,通知哪个类的哪个方法。
2021-07-29 20:35:31 518
原创 Dubbo笔记衍生篇⑦:异步场景下的问题
一、前言二、过滤器链以下内容摘自《深度剖析Apache Dubbo 核心技术内幕》:在2.7.0版本之前,在消费端采用异步调用后,由于异步结果在异步线程(Dubbo框架线程模型线程池中的线程)中单独执行,因此DubboInvoker的invoke()方法在发起远端请求后,会将空的RpcResult对象返回Filter调用链,也就是说,Filter链上的所有Filter获取的远端调用结果都是null,最终null值也直接返回给调用方法。而真正的远端调用结果需要调用方从RpcContext获取future
2021-07-27 19:53:22 738
原创 Dubbo笔记 ㉑ :提供者的异步执行
一、前言1. 概述在Provider端非异步执行时,对调用方发来的请求的处理是在Dubbo内部线程模型的线程池里的线程中执行的。在Dubbo中,服务提供方提供的所有服务接口都是使用这一个线程池来执行的,所以当一个服务执行比较耗时时,可能会占用线程池中很多线程,从而导致其他服务的处理收到影响。Provider端异步执行则将服务的处理逻辑从Dubbo内部线程池切换到业务自定义线程,避免Dubbo线程池中的线程被过度占用,有助于避免不同服务间的互相影响。但需要注意的是,Provider端异步执行对节省资源
2021-07-27 19:49:30 1454
原创 Dubbo笔记 ⑳ :消费者的异步调用
一、前言从2.7.0版本开始,Dubbo以CompletableFuture为基础支持所有异步编程接口,解决了2.7.0之前的版本异步调用的不便与功能缺失。异步调用是基于NIO 的非阻塞能力实现并行调用,服务消费端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。1. 逻辑图中步骤1是当服务消费端发起RPC调用时使用的用户线程,用户线程首先使用步骤2创建一个Future对象,接着步骤3会把请求转换为I/O线程来执行,步骤3为异步过程,所以会马上返回,然后用户线程使用步骤4把其创建的
2021-07-27 19:45:21 1115
原创 Dubbo笔记 ⑲ :隐式参数传递
一、前言Dubbo提供了隐式参数传递的功能,即服务调用方可以通过RpcContext.getContext().setAttachment()方法设置附加属性键值对,然后设置的键值对可以在服务提供方服务方法内获取。二、简易demo@Servicepublic class MainSimpleDemoServiceImpl implements SimpleDemoService { @Override public String sayHello(String msg) {
2021-07-21 16:27:06 2368 1
原创 Dubbo笔记 ⑱ :泛化调用 & 泛化实现
一、前言二、泛化调用1. 泛化调用2. 泛化实现泛化调用分两种情况消费端非泛化,服务端泛化消费端泛化,服务端不泛化消费、服务都泛化三、源码实现1.1 GenericImplInvokerFilter/** * GenericImplInvokerFilter */@Activate(group = Constants.CONSUMER, value = Constants.GENERIC_KEY, order = 20000)public class GenericImpl
2021-07-21 14:59:57 5118
原创 Dubbo笔记 ⑰ :Dubbo Filter 详解
一、前言META-INF/dubbo/internalcache=org.apache.dubbo.cache.filter.CacheFiltervalidation=org.apache.dubbo.validation.filter.ValidationFilterecho=org.apache.dubbo.rpc.filter.EchoFiltergeneric=org.apache.dubbo.rpc.filter.GenericFiltergenericimpl=org.apache
2021-07-06 20:40:49 2749 4
Eurake.zip
2019-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人