首页> 中文学位 >基于协程的分布式RPC框架CO-RPC的设计与实现
【6h】

基于协程的分布式RPC框架CO-RPC的设计与实现

代理获取

目录

声明

1 绪论

1.1 研究背景与意义

1.2 国内外研究概况

1.3 主要研究内容

1.4 本文组织结构

2 协程RPC框架设计

2.1 RPC概述

2.2 IO模型设计

2.3 协议序列化技术

2.4 负载均衡技术

2.5 本章小结

3 协程RPC框架实现

3.1 RPC框架

3.2 IO模型实现

3.3 代码自动生成

3.4 负载均衡实现

3.5 本章小结

4 系统测试

4.1 测试环境与工具

4.2 IO模型性能测试

4.3 负载均衡效果演示

4.4 本章小结

5 总结与展望

5.1 全文总结

5.2 课题展望

致谢

参考文献

展开▼

摘要

近些年来,面向服务的架构和微服务架构已经逐渐成为大型分布式系统架构设计的主流方式,而远程过程调用(Remote Procedure Call,简称RPC)框架作为系统架构中最基础的组件,在其中扮演着至关重要的角色。目前国内外知名的互联网公司都有其RPC框架,这些框架支撑着公司最核心的服务,每天维持着几十亿的访问量。所以优化RPC框架,对于公司整个系统架构的性能将会有显著的改善。
  CO-RPC使用协程(Coroutine)优化传统RPC框架的网络IO模型,协程是用户态线程,切换开销比传统的线程少很多,使用协程优化,可以有效地减少系统阻塞的时间。CO-RPC使用Google开源的序列化框架Protobuf作为协议序列化技术,同时扩展了Protobuf自带的编译器protoc,添加了客户端和服务框架的代码自动生成功能。对于负载均衡模块,提出了动态自适应路由算法,算法根据请求超时情况动态调整服务器被选择的概率,由客户端负责动态权值的设置,不会给服务器增加任何负担。同时,算法通过对动态权值添加一定的保护措施,实现了过载保护。
  实验结果表明,在高并发的环境下CO-RPC的协程模型和异步模型的性能比较接近,而协程调用方式和同步调用一样,所以协程模型兼顾异步模型的执行效率和同步模型的开发效率。同时通过网络模拟工具Netem模拟网络的延迟和丢包情况,并与其他负载均衡算法进行对比分析,验证了动态自适应路由算法的有效性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号