之前大概看过dubbox的源码,跟踪调试过代码,到现在也忘的差不多了。最近闲来无事瞄了眼新浪微博的RPC框架Motan,相比dubbox满屏的工程,看着真是喜人。于是乎,看看Motan的源码吧,有空再回顾一下dubbox源码。
- 先去git上下载源码 https://github.com/weibocom/motan
- 用IDE选择已存在的maven项目,将代码导入IDE
- moan-manager报一个java版本低的问题,改下配置就ok了,其余是xml的问题就无所谓了。
服务端有5个示例:
- 这两个基本算一类,属于通过注解注册服务(稍微有点区别)
AnnotationRpcServerDemo
SpringBootRpcServerDemo - 这个感觉用的场景应该较少,类似spring-remote导出服务的写法
MotanApiExportDemo - 标准xml配置示例
DemoRpcServer - 这个是本地直接调用示例,用了Yar这么东东(意味着不需要使用注册中心:zk/Consul)
YarServerDemo
客户端
- 这两个基本算一类,属于通过注解注册服务(稍微有点区别)
AnnotationRpcClientDemo
SpringBootRpcClientDemo - 与服务端的MotanApiExportDemo是一对
MotanApiClientDemo - 标准xml配置客户端示例
DemoRpcClient - 与服务端的YarServerDemo是一对
YarClient
运行
- 对于Yar的Demo,先运行YarServerDemo,再运行YarClient即可看到结果
- 对于其他Demo,如需要,则先启动注册中心,以zk为例(因之前已安装过):
- 启动zk服务:zkServer.sh start-foreground (在前台运行,能看到信息)
-
执行DemoRpcServer,能看到zk输出的信息:
-
执行DemoRpcClient,在IDE中即可看到执行结果: