摘要:
motan的序列化支持两种协议,一种是json,另一种是hessian2。主要涉及到的类和接口是是:FastJsonSerialization、Hessian2Serialization、Serialization、Codec、AbstractCodec、NettyDecoder、NettyEnco 阅读全文
摘要:
本章将分析motan的序列化和底层通信相关部分的代码。 1.在上一章中,有一个getrefers的操作,来获取所有服务器的引用,每个服务器的引用都是由DefaultRpcReferer来创建的 2.NettyClient的创建过程及源码分析 3.Netty相关的连接建立是通过open()方法进行的 阅读全文
摘要:
上一章我们分析了客户端调用服务端相关的源码,但是到了cluster里面的部分我们就没有分析了,本章将深入分析cluster和它的相关支持类。 1.clustersupport的创建过程,上一章的ReferConfig的initRef()方法中调用了相关的创建代码: 2.clustersupport的 阅读全文
摘要:
在第一章中,我们分析了服务的发布与注册,本章中将简单的分析一下客户端调用服务的代码及流程,本文将以spring加载的方式进行分析。 1.在DemoRpcClient类的main()方法中加载类: 2.上面加载了spring的配置文件motan_demo_client.xml 经过spring装载Re 阅读全文
摘要:
在本文第一章,分析的demo中使用了代码加载的方式加载了相关的类,但在我们的实际工作中,使用spring来加载相关的类的情况会更多,本文将分析一下motan是如何与spring一起协同工作的,主要的原理就是利用了spring支持的自定义标签的实现,这也是需要和spring结合的框架的实现方式。 1. 阅读全文
摘要:
在motan的源码中使用了很多的spi机制进行对象的创建,下面我们来具体分析一下它的实现方法。 1.在实际的jar包的\META-INF\services目录中引入相关的文件,例如下图中,我解压了core的jar文件后,获得到的相应文件列表: 2.以第一节中的ConfigHandler为例来分析,打 阅读全文
摘要:
motan是新浪微博开源的服务治理框架,具体介绍请看:http://tech.sina.com.cn/i/2016-05-10/doc-ifxryhhh1869879.shtml. 本系列的文章将分析它的底层源码,分析的源码版本为:0.1.2。第一篇文章将以服务的发布和注册开始,注册服务使用zook 阅读全文