集群容错(五)之Merger实现
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文接 《精尽 Dubbo 源码解析 —— 集群容错(四)之 LoadBalance 实现》 一文,分享 dubbo-cluster 模块, merger 包,各种 Merger 实现类。 Merger 相关类,如下图: Merger 相关类 我们可以看到,目前一共有两部分: Merger 以及其实现类。 ...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文接 《精尽 Dubbo 源码解析 —— 集群容错(四)之 LoadBalance 实现》 一文,分享 dubbo-cluster 模块, merger 包,各种 Merger 实现类。 Merger 相关类,如下图: Merger 相关类 我们可以看到,目前一共有两部分: Merger 以及其实现类。 ...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文接 《精尽 Dubbo 源码解析 —— 集群容错(三)之 Directory 实现》 一文,分享 dubbo-cluster 模块, loadbalance 包,各种 LoadBalance 实现类。 LoadBalance 子类如下图: LoadBalance 子类 我们可以看到,目前一共有四个子类,意味着内置...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文接 《精尽 Dubbo 源码解析 —— 集群容错(二)之 Cluster 实现》 一文,分享 dubbo-cluster 模块, directory 包,各种 Directory 实现类。 Directory ,中文直译为目录,代表了多个 Invoker ,可以把它看成 List 。但与 List 不同的是,它的值可能是...
1. DefaultRequestDirector 的作用 DefaultRequestDirector 是 Apache HttpClient 中 HTTP 请求的核心调度器和执行者。当开发人员调用 AbstractHttpClient.execute() 方法时,实际的请求处理流程就是由 DefaultRequestDirector 的 execute() 方法完成的。 2. 构造函...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享基于 Kryo 的序列化拓展实现。 Java对象序列化框架 Kryo Kryo 是一个快速高效的Java对象图形序列化框架,主要特点是性能、高效和易用。该项目用来序列化对象到文件、数据库或者网络。 示例代码: ```plain text plain Kryo kryo = new Kryo(); // … Ou...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享基于 Dubbo 自己实现的序列化拓展。要实现序列化的高性能,需要考虑两方面: 序列化和反序列化速度快 从传输体积小 角度,数据压缩效果好,即序列化后的数据量 旁白君:从以下开始,Dubbo 指的是 Dubbo 序列化拓展,而不是 Dubbo PRC 框架。请注意。 在 《用户指南 —— 性能测试报告...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 从本文开始,我们来分享 Dubbo 的序列化的实现。在 《Dubbo 开发指南 —— 序列化扩展》 ,对序列化定义如下: 将对象转成字节流,用于网络传输,以及将字节流转为对象,用于在收到字节流数据后还原成对象。 所以,序列化实际上包含两部分 。 有一个概念,我们需要强调等等所以,协议和序列化不是包含的关系,而是组...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文,我们来分享 Dubbo 的 HTTP 服务器,在 dubbo-remoting-http 模块中实现,使用在 http://、 rest://、hessian://、webservice://协议上。 dubbo-remoting-http 只提供 Server 部分 ,不同于前面分享的 Dubbo 的 NIO 服...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文接 《精尽 Dubbo 源码分析 —— NIO 服务器(六)之 Netty4 实现》 一文,分享在 dubbo-remoting-netty 中,Netty3 如何接入实现。 因为 Netty3 的接入代码,和 Netty4 基本是一致,主要是一些 Netty 不同版本的 API 差异,所以本文,会相对简介,只重点分享一...