集群容错(三)之Directory实现
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文接 《精尽 Dubbo 源码解析 —— 集群容错(二)之 Cluster 实现》 一文,分享 dubbo-cluster 模块, directory 包,各种 Directory 实现类。 Directory ,中文直译为目录,代表了多个 Invoker ,可以把它看成 List 。但与 List 不同的是,它的值可能是...
本文基于 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 差异,所以本文,会相对简介,只重点分享一...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 在前面的文章,我们已经了解了 dubbo-remoting-api 如何实现 NIO 服务器的抽象 API 层。那么本文来看看,dubbo-remoting-netty4 ,如何将 Netty4 接入实现。 涉及如下类: 类图 友情提示:在当前版本,默认情况下,使用 Netty3 ,如果想配置成 Netty4 ,请参...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文接 《精尽 Dubbo 源码分析 —— NIO 服务器(四)之 Exchange 层》 一文,分享 dubbo-remoting-api 模块, buffer 包,Buffer 层。 Buffer 在 NIO 框架中,扮演非常重要的角色,基本每个库都提供了自己的 Buffer 实现,例如: Java NIO 的 ...