dubbo专题
这个目录下是一些dubbo相关的技术专题。
小于 1 分钟
看了一下这个文章《Dubbo如何处理业务异常,这个一定要知道哦》,但是不赞同文章中的一些论点,这里整理一下dubbo源码中Provider端的ExceptionFilter中 对异常的处理逻辑。
在之前的文章《如何在spring中自定义xml标签并解析》中我用实际的例子展示了,如何在spring中自定义xml标签,同时如何解析这个xml标签。
dubbo的线程模型设计的算是非常不错的了,值得我们学习。下图是dubbo的线程模型图:
本篇文章描述一下dubbo的扩展性实现,主要有下面几个部分:
本篇文章主要描述一下dubbo的扩展点中的一些基本概念和常见的一些注解
扩展点其实就是一个Java的接口。比如dubbo中的LoadBalance
接口其实就是一个扩展点
@SPI(RandomLoadBalance.NAME)
public interface LoadBalance {
@Adaptive("loadbalance")
<T> Invoker<T> select(List<Invoker<T>> invokers, URL url, Invocation invocation) throws RpcException;
}
dubbo的扩展性是特别的好,本篇文章通过例子来说明如何自定义dubbo的filter。为了文章完整性,贴一下官网对于filter的一些说明。
服务提供方和服务消费方调用过程拦截,Dubbo 本身的大多功能均基于此扩展点实现,每次远程方法执行,该拦截都会被执行,请注意对性能的影响。
约定:
本篇文章主要讲述如何在本地搭建dubbo的运行环境
dubbo推荐使用zk来作为自己的注册中心,当然使用其余的实现来作为注册中心也是可以的。比如我之前就使用redis实现了一个注册中心。
Dubbo 未对 Zookeeper 服务器端做任何侵入修改,只需安装原生的 Zookeeper 服务器即可, 所有注册中心逻辑适配都在调用 Zookeeper 客户端时完成。