
dubbo
平静不绝望
ALOHA HEJA HE
-
原创 【netty与rpc】quick review rpc netty4 dubbo 同步转异步 all-in-one 知识库
1 Netty 原理Netty 是一个高性能、异步事件驱动的 NIO 框架,基于 JAVA NIO 提供的 API 实现。它提供了对 TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞 的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。2 Netty 高性能在 IO 编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者 IO 多路复用技术 进行处理。IO 多路复用技.2021-02-20 17:48:3434
1
-
原创 【dubbo】dubbo bio nio socket netty 等方式调用dubbo server 附源码
1 该源码包含了 tcp 调用dubbo server的多种实现,以及dubbo协议的分析。2 主要包含:原生API,原生泛型,NIO Client, BIO Client 标准或者泛型方法的调用代码。 public static void main(String[] args) { // 当前应用配置 ApplicationConfig application = new ApplicationConfig(); applicati2021-02-07 11:57:5047
0
-
原创 【不懂就画,一千零一夜】dubbo 2.7.+ RPC 过程(全程图示)
1 Dubbo的RPC概览(其中包含 consumer provider registry netty 主从网络模型等核心模块)2 RPC 数据流--流程3 客户端启动4 服务端启动2021-02-06 10:01:1334
0
-
原创 【dubbo】 dubbo Filter 如何根据环境指定自己的Filters (其他SPI接口同理)?一起解读源码
1 先说解决方案(2.7.3 版本)全局指定直接使用 就可以了; 如果是service单独指定可如下配置,consumer端类似2 为什么?一起来看看,filter过滤链的构造过程(2.7.3 版本)执行流程是: org.apache.dubbo.config.ServiceConfig 类加载时jvm 实例化 final protocol --> private static final Protocol protocol = ExtensionLoader.getExtensi2020-12-11 13:39:41134
2
-
原创 【不懂就画一千零一夜】dubbo server端 export 终版
2 总体流程3 详细版2020-10-28 19:56:2446
1
-
原创 【不懂就画一千零一夜】Dubbo 封装调用链
1 调用来源:----->org.apache.dubbo.config.spring.ServiceBean#export----->org.apache.dubbo.config.ServiceConfig#export----->org.apache.dubbo.config.ServiceConfig#doExport----->org.apache.dubbo.config.ServiceConfig#doExportUrls----->org.a2020-10-27 18:40:4983
1
-
原创 【dubbo】dubbo 2.7+ 客户端引用过程—源码阅读
1 从spring解析开始BeanDefinitionParser --> org.apache.dubbo.config.spring.schema.DubboBeanDefinitionParser -->构造函数定位 org.apache.dubbo.config.spring.schema.DubboNamespaceHandler#init--->org.apache.dubbo.config.spring.ReferenceBean 解析xml 并将bean注入容器中R2020-10-26 15:57:30121
1
-
原创 【dubbo】负载均衡 RoundRobinLoadBalance Dubbo-2.6.5 提供的最新算法!线程安全性有什么影响?
1 如果阅读过源码,请忽略下面一大段描述:RoundRobinLoadBalance-------------------------------------------------------------------可忽略下面--------------------------------------------------------------------------------...2019-06-22 00:33:261051
0
-
原创 【知识库】--Dubbo ReferenceBean获取 -- router路由服务 源码过程(255)
Router 路由: 根据路由规则从多个Invoker 中选出一个子集。 应用:AbstractDirectory是所有目录服务实现的上层抽象, 它在list 列举出所有invokers 后,会在通过 Router服务进行路由过滤。 1 路由接口定义/** * Router. (SPI, Prototype, ThreadSafe)2017-07-10 07:00:03671
0
-
原创 【知识库】--Dubbo ReferenceBean获取-- 调用RegistryDirectory.notify -- 源码过程(254)
回顾上一篇文章:获取ReferenceBean过程中SPI自适应到RegistryProtocol类后,调用refer方法:@SuppressWarnings("unchecked")public T> InvokerT> refer(ClassT> type, URL url) throws RpcException { url = url.setProtocol(ur2017-07-09 23:57:071051
0
-
原创 【知识库】--Dubbo ReferenceBean获取-- RegistryProtocol.Refer -- 源码过程(254)
看这里:上一篇文章介绍了ReferenceBean的获取过程,这里介绍如何根据registryUrl和RegistryFactory获取注册器,最终注册中心回调服务消费者暴露的回调接口,来对服务提供者的服务引用(refer),生成对应的可执行对象invoker。1@SuppressWarnings("unchecked")private Invoker getClusterInvok2017-07-09 09:22:151121
0
-
原创 【知识库】--dubbo SPI 动态扩展点之 buildInvokerChain 责任链 构建(267)
分析构建责任链代码private static T> InvokerT> buildInvokerChain(final InvokerT> invoker, String key, String group) { InvokerT> last = invoker; List filters = ExtensionLoader.getExtensionLoader(Filt2017-07-21 09:46:28925
0
-
原创 【知识库】--Dubbo ReferenceBean获取 -- 源码过程(254)
此段分析的由来: 自定义标签被spring加载时生成ReferenceBean,而ReferenceBean类的定义public class ReferenceBeanT> extends ReferenceConfigT> implements FactoryBean, ApplicationContextAware, InitializingBean, DisposableB2017-07-09 08:01:194686
0
-
原创 【知识库】--dubbo SPI 动态扩展点之getAdaptiveExtension()触发调用链(267)
已知 com.alibaba.dubbo.common.extension.ExtensionLoader :* 自动注入关联扩展点。* 自动Wrap上扩展点的Wrap类。* 缺省获得的的扩展点是一个Adaptive Instance。而在dubbo.internal文件下 (dubbo/3.1.11/dubbo-3.1.11.jar!/META-INF/dubbo/inte2017-07-21 09:20:42846
0
-
原创 Forbid consumer 127.0.0.1 access service com.alibaba.dubbo.rpc.service.GenericService from registry
Forbid consumer 127.0.0.1 access service com.alibaba.dubbo.rpc.service.GenericService from registry zk.beta.corp.baidu.com:2181 use dubbo version 3.1.4, Please check registry access list (whitelist/bla2016-12-27 09:59:269969
2
-
原创 dubbo--直连方式(51)
<dubbo:reference id="whoami" interface="com.alibaba.fastjson.xxxx" url="dubbo://121.11.222.254:2181" version="1.0.0" timeout="10000"2016-12-15 20:36:061900
0