从头构建一个IDL+RPC框架
发布时间
阅读量:
阅读量
一、RPC是什么
在早期的单机计算阶段,一台计算机内部运行着多个独立进程,这些进程之间并无交互,各自执行任务,这种情况持续了相当长的时间。直到某一天,出现了新的功能需求:A进程需要具备绘制图形的能力。恰巧相邻的B进程已经实现了该功能,于是程序员C决定采取一种简便的方式——让A进程调用B进程中的绘图模块。正是在这样的背景下,IPC(Inter-process Communication,进程间通信)应运而生。随后,程序员C便心满意足地去享用早餐了。
数年之后,互联网技术逐渐普及,各类计算机设备实现了互联互通。此时新的任务再次出现:尚未完成的A进程需要借助tensorflow实现笑脸识别的功能 >_< 。令人巧合的是,在遥远的另一台高性能计算机上恰好已经具备这一能力。程序媛D接手了A进程后,在参考之前IPC经验的基础上,将这种通信方式拓展至网络环境之中,由此诞生了RPC(Remote Procedure Call,远程过程调用)。RPC本质上是一种允许一台计算机上的进程调用另一台计算机上进程的技术手段。目前较为成熟的RPC框架通常包含服务注册、服务发现、熔断机制、降级策略以及流量控制等核心功能模块。当前市场上已有众多经过验证的RPC方案可供选择,例如Facebook推出的Thrift、Google开发的gRPC、阿里巴巴集团研发的Dubbo以及蚂蚁集团打造的SOFA等系
全部评论 (0)
还没有任何评论哟~
