【Motan源码学习】2-与Spring集成

motan-core#com.weibo.api.motan.config 这个 package 定义了一系列 Config 类,用于处理服务发布和服务引用的一些配置。
关于Config, Motan 支持三种使用方式:

  • 编程 API
  • 与 Spring 集成的 XML 配置
  • 与 Spring 集成的 Annotation 配置
    我们先来看下编程 API 的使用方式,然后看看 Motan 是如何与 Spring 集成的,本文假设你已经对 Spring 的启动过程和一些 hook 接口有基本的了解。

编程 API

1. 服务发布

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ServiceConfig<MotanDemoService> motanDemoService = new ServiceConfig<MotanDemoService>();
// 设置接口及实现类
motanDemoService.setInterface(MotanDemoService.class);
motanDemoService.setRef(new MotanDemoServiceImpl());
// 配置服务的group以及版本号
motanDemoService.setGroup("motan-demo-rpc");
motanDemoService.setVersion("1.0");
// 配置ZooKeeper注册中心
RegistryConfig zookeeperRegistry = new RegistryConfig();
zookeeperRegistry.setRegProtocol("zookeeper");
zookeeperRegistry.setAddress("127.0.0.1:2181");
motanDemoService.setRegistry(zookeeperRegistry);
// 配置RPC协议
ProtocolConfig protocol = new ProtocolConfig();
protocol.setId("motan");
protocol.setName("motan");
motanDemoService.setProtocol(protocol);
motanDemoService.setExport("motan:8002");
// 服务发布
motanDemoService.export();

【Motan源码学习】1-总体架构

【Motan源码学习】系列,不搞大而虚的架构,还是会继续深入源码,剖析RPC框架的内幕,会尝试总结出一些好的系统设计,尝试带着问题去看源码。搞这个系列最主要的目的是驱动自己认真的读源码。虽然说不搞大而虚的架构,但脑子里还是需要一幅大图的. 看过 Tomcat 源码之后深有体会,刚开始掌握大概流程和整体架构,然后一步步深入,搞懂图中的每个组件。

简介

Motan 是微博研发并开源的 Java 的 RPC 框架,项目地址:https://github.com/weibocom/motan. 我将在 0.3.1 版本上开始源码的学习。(为什么你不去看 dubbo 呢?dubbo 虽然很屌,除了阿里,在国内很多其他互联网公司也都用它。然。。。我大概过了一遍两个项目,觉得 Motan 更小而美一点,可能看源码的门槛低一点吧)