Dubbo 源码解析(十七)telnet
telnet的介绍可以参看《java网络编程3》中有一段介绍telnet,我们可以理解为,telnet命令是通过socket协议与服务器端通信。Dubbo提供了telnet命令去查看服务功能。 这里主要介绍一下dubbo实现telnet命令...
telnet的介绍可以参看《java网络编程3》中有一段介绍telnet,我们可以理解为,telnet命令是通过socket协议与服务器端通信。Dubbo提供了telnet命令去查看服务功能。 这里主要介绍一下dubbo实现telnet命令...
Refer取得invoker的过程 <!-- 指定了哪种的注册中心,是基于zookeeper协议的,指定了注册中心的地址以及端口号 --> <dubbo:registry protocol="zookeeper" clie...
Dubbo作为一个分布式的服务治理框架,提供了集群部署,路由,软负载均衡及容错机制。下图描述了Dubbo调用过程中的对于集群,负载等的调用关系: 集群 Cluster 将Directory中的多个Invoker伪装成一个Invoker,对上...
Export发布服务流程 Dubbo协议向注册中心发布服务:当服务提供方,向dubbo协议的注册中心发布服务的时候,是如何获取,创建注册中心的,如何注册以及订阅服务的,下面我们来分析其流程。 看如下配置发布服务: <!-- 指定了哪种...
Spring在启动Dubbo服务端应用时,会实例化ServiceBean并设置配置属性,然后调用export方法: @SuppressWarnings({"unchecked", "deprecation"}) public void af...
Spring在启动Dubbo客户端应用时,会实例化ReferenceBean并设置配置属性,然后调用ReferenceConfig中的get方法: public synchronized T get() { if (destroyed) {...
默认协议的rpc 过程是比较复杂的,其中涉及到了各个方面,其余各协议实际上有对这个过程进行简化;因此看懂了默认协议的rpc 过程,其他协议就非常容易懂了。在讲Dubbo通信过程之前,可以先了解:Java 远程通讯可选技术及原理 通信过程 我...
Invoker调用 代理有几种方式:普通代理、JDK、Javassist库动态代理、Javassist库动态字节码代理。 生成代理的目的是你调用invoker的相关函数后,就等同于是调用DubboInvoker中的相关函数,也就是将本地调用...
ExtensionLoader.java中注意到injectExtension函数是为了设置所生成的对象的field;其方法为对于有set函数的field进行设置。此时用到了ExtensionFactory;说白了ExtensionFact...
Filter Filter是Dubbo里面非常重要的模块,Dubbo里面日志记录、超时等功能都是在这一部分实现。 如上一节在介绍扩展点加载时所述,在生成Protocol的invoker时,实际上使用了装饰模式,第一个是filter,第二个是...