摘要
为了研究RPC技术的原理以及提高性能和可用性的方案,设计并实现了一种名为Pretty RPC的RPC框架。Pretty共分三层:公共层,核心层和应用层。整体设计围绕高性能、高可扩展性,高可用性及高易用性等特点进行。采用Netty高性能异步通信框架用于信息交互;Protostuff框架提供对象序列化能力;JDK Proxy技术生成代理对象;Spring框架提供基于Io C的对象管理功能。最终实现了一种符合预期的RPC框架。经过此次研究实践,能够得出如下结论:基于改进Reactor模式的纯异步线程池通信模型的效率要高于传统多线程同步阻塞的通信模型;序列化算法的效率也是决定RPC性能的重要因素之一;基于Io C思想的软件设计方式能够有效提升软件的各项指标。
In order to find the the solution to improve Remote Procedure Call(RPC) ’s performance and availability technology,implementing a framework of RPC named Pretty. There are three layers in this framework: The Communication Layer, the Proxy Layer and the Application Layer. The framework adopts a high-performance asynchronous communication framework named Netty for message interaction; The Protostuff framework provides serialization algorithm; JDK Proxy technology generated proxied objects; Spring framework provides the ability of managing Java Objectbased on the technology of Inversion of Control(Io C). And it can conclude from the research and practice: The asynchronous communication model with thread pool which is based on the improved Reactor pattern, is more efficient than the synchronous and blocked communication model with multithread; The efficiency of serialization algorithm is one of important factors to determine the RPC performance; The thought of the Io C can improve software indicatorseffectively.
作者
于天
黄昶
Yu Tian;Huang Chang(East China Normal University,School of Information Science Technology,Shanghai200241,China)
出处
《信息通信》
2018年第3期127-129,共3页
Information & Communications
关键词
远程过程调用
序列化
异步通信
Java技术栈
多机系统
软件架构
Remote Procedure Call
Serialization
Asynchronous Communication
Java Technology Stack
Multi-computer Ma chine System
Software Architecture