在做微服务架构设计时,我们一般选用RPC框架的会是Dubbo或SpringCloud。

今天介绍一个在这两者之外的其他框架-----Motan

基本介绍

Motan是一套基于java开发的RPC框架,由新浪微博开源。可靠性经过新浪微博生产环境验证。

除了常规的点对点调用外,Motan还提供服务治理功能,包括服务节点的自动发现、摘除、高可用和负载均衡等。Motan具有良好的扩展性,主要模块都提供了多种不同的实现,例如支持多种注册中心,支持多种rpc协议等。

架构概述

Motan中分为服务提供方(RPC Server),服务调用方(RPC Client)和服务注册中心(Registry)三个角色。

三者的交互关系如下图:

rpc框架开源(RPC框架除了Dubbo或SpringCloud之外的选择)(1)

模块概述

Motan框架中主要有register、transport、serialize、protocol几个功能模块,各个功能模块都支持通过SPI进行扩展,各模块的交互如下图所示:

rpc框架开源(RPC框架除了Dubbo或SpringCloud之外的选择)(2)

功能综述:

从架构设计上来看,和Dubbo非常相似。但是市场占有率和知名度不及Dubbo

目前项目也还在维护中。这点也比较靠谱

Motan的一大优点是,跨语言的Rpc框架。除了java外,还支持PHP、Go、Lua等相互之间调用

地址:https://github.com/weibocom/motan

,