计算机工程与应用 ›› 2013, Vol. 49 ›› Issue (21): 106-110.

• 网络、通信、安全 • 上一篇    下一篇

RPCI:面向互联网的RPC框架

王  伟1,余利华2   

  1. 1.浙江医学高等专科学校 计算机教研室,杭州 310053
    2.网易杭州研究院,杭州 310052
  • 出版日期:2013-11-01 发布日期:2013-10-30

RPCI:RPC for Internet applications

WANG Wei1, YU Lihua2   

  1. 1.Computer Lab, Zhejiang Medical College, Hangzhou 310053, China
    2.Hangzhou Research & Development Center, Netease Corporation, Hangzhou 310052, China
  • Online:2013-11-01 Published:2013-10-30

摘要: RPC是互联网后端分布式系统的核心组件,能够降低互联网应用开发、运维成本,提高可用性和可扩展性,但是目前流行的RPC框架不能完全满足互联网应用需求。分析了互联网应用环境下RPC系统的需求,并针对需求提出了面向互联网的RPC系统RPCI。RPCI采用三层架构,将长连接服务器独立出来,以支持无状态应用服务器设计和灵活的请求路由策略,使得系统扩容、升级、运维更加容易。基于thrift实现了RPCI,优化了性能,实验结果表明,RPCI性能优秀,相比常用开源软件thrift性能提升50%以上。

关键词: 远程过程调用(RPC), 可用性, 分布式系统

Abstract: RPC is one of the fundamental components of distributed systems underneath popular websites, which is critical for development, maintenance and availability of Internet applications. However, popular RPC systems rarely meet all requirements of Internet applications. This paper analyzes the common RPC requirements of Internet applications. It proposes a RPCI, a RPC system designed for Internet applications. RPCI adopts a novel three tier RPC architecture including link-server, app-server and status-server. The link-server maintains connections from clients and dispatches requests to app-server based on customized routing policy, making app-server stateless, and hence system maintenance costs are reduced. RPCI is implemented based on popular open source project thrift, and experimental results show that it outperforms thrift by 50%.

Key words: Remote Procedure Call(RPC), availability, distributed systems