Motan:支撑微博千亿调用的轻量级RPC框架

作者:李庆丰,微博研发中心研发总监,负责微博消息箱及开放平台的技术研发工作。微博Motan RPC框架项目负责人。十年互联网架构研发及技术管理经验,专注高性能高可用架构。
本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2016年《程序员》

Motan(https://github.com/weibocom/motan)是微博技术团队研发的基于Java的轻量级RPC框架,已在内部大规模应用多年,每天稳定支撑微博上亿次的内部调用。

RPC调用优势

随着公司业务发展,微博内部调用和依赖越来越多,传统方式逐渐显现出弊端。

  1. jar包依赖调用使得服务间耦合太紧,相互影响,同时也存在跨语言调用问题;
  2. HTTP依赖调用在协议上比较重,常在性能和效率上出现瓶颈。

越是大型复杂的系统,越需要轻量的依赖调用方式,RPC依赖调用很好地解决了上述问题。

典型RPC框架对比

目前,业界RPC框架大致分为两类,一种偏重服务治理,另一种侧重跨语言调用。服务治理型的RPC框架代表是Dubbo和DubboX。前者是阿里开源的分布式服务框架,实现高性能的RPC调用同时提供了丰富的管理功能,是一款应用广泛的优秀RPC框架,但现在维护更新较少。后者则是当当基于Dubbo扩展,支持REST风格的远程调用、Kryo/FST序列化,增加了一些新功能。

这类RPC框架的特点是功能丰富,提供高性能远程调用、服务发现及服务治理能力,适用于大型服务的解耦及治理,对于特定语言(如Java)项目可以实现透明化接入。缺点是语言耦合度较高,跨语言支持难度较大。

跨语言调用型RPC框架有Thrift、gRPC、Hessian、Hprose等。这类框架侧重于服务的跨语言调用,能支持大部分语言,从而进行语言无关调用,非常适合多语言调用场景。但这类框架没有服务发现相关机制,实际使用时需要代理层进行请求转发和负载均衡策略控制。

Motan倾向于服务治理型,跨语言方面正在尝试与PHP调用集成。与Dubbo系列相比,功能或许不那么全,扩展实现也没那么多,但更注重简单、易用以及高并发高可用场景。

功能特点

Motan是一套轻量级的RPC框架ÿ

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值