摘要: motan提供了流量切换的功能,可以实现把一个group的流量切换到另一个group(一个或多个服务都可以)。大家可以使用tomcat部署motan的管理工具,并设置几个组,例如可以参考demo代码:motan_demo_server_commandRegistry.xml。分析源码时可以发现,流量 阅读全文
posted @ 2016-09-19 23:30 【刘光亮】 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 在前面的文章中,我们已经发现了开关的踪影,例如cluster,motan支持多个cluster,当前的cluster因为开关关闭的情况下,就会使用下一个cluster。 1.开关相关的类和接口主要都在包com.weibo.api.motan.switcher下,类Switcher是具体的开关: 2. 阅读全文
posted @ 2016-09-19 22:47 【刘光亮】 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 之前我们分析了客户端调用服务端的源码,但是没有涉及到通讯层和序列化层,本文将之前讲过的内容做一次串联。 1.上层通过动态代理调用refer的call,每个refer又对应一个nettyclient,下面来看一下nettyclient的调用服务端操作 2.nettychannel的request操作 阅读全文
posted @ 2016-09-19 20:29 【刘光亮】 阅读(754) 评论(0) 推荐(0) 编辑
摘要: motan的序列化支持两种协议,一种是json,另一种是hessian2。主要涉及到的类和接口是是:FastJsonSerialization、Hessian2Serialization、Serialization、Codec、AbstractCodec、NettyDecoder、NettyEnco 阅读全文
posted @ 2016-09-19 19:52 【刘光亮】 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 本章将分析motan的序列化和底层通信相关部分的代码。 1.在上一章中,有一个getrefers的操作,来获取所有服务器的引用,每个服务器的引用都是由DefaultRpcReferer来创建的 2.NettyClient的创建过程及源码分析 3.Netty相关的连接建立是通过open()方法进行的 阅读全文
posted @ 2016-09-19 19:29 【刘光亮】 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 上一章我们分析了客户端调用服务端相关的源码,但是到了cluster里面的部分我们就没有分析了,本章将深入分析cluster和它的相关支持类。 1.clustersupport的创建过程,上一章的ReferConfig的initRef()方法中调用了相关的创建代码: 2.clustersupport的 阅读全文
posted @ 2016-09-19 17:32 【刘光亮】 阅读(1557) 评论(0) 推荐(0) 编辑
摘要: 在第一章中,我们分析了服务的发布与注册,本章中将简单的分析一下客户端调用服务的代码及流程,本文将以spring加载的方式进行分析。 1.在DemoRpcClient类的main()方法中加载类: 2.上面加载了spring的配置文件motan_demo_client.xml 经过spring装载Re 阅读全文
posted @ 2016-09-19 16:28 【刘光亮】 阅读(1093) 评论(0) 推荐(0) 编辑