之前分享了如何从0到1设计一个MQ消息队列,今天谈谈“如何从0到1设计一个Dubbo的RPC框架”,重点考验:
- 你对RPC框架的底层原理掌握程度。
- 以及考验你的整体RPC框架系统设计能力。
RPC和RPC框架
1.RPC(Remote Procedure Call)
即远程过程调用, 主要解决远程通信间的问题,不需要了解底层网络的通信机制。
2.RPC框架
RPC框架负责屏蔽底层的传输方式(TCP或者UDP)、序列化方式、以及通信细节。
实际使用中,并不需要关心底层通信细节和调用过程,让业务端专注于业务代码的实现。
国内大家熟知的PRC框架,阿里的HSF和Dubbo(开源)
Dubbo的发展由来
1. 业务规模小
比如早期一个应用Java War包,将所有功能都打包,部署在一个单机服务器,调用接口也比较方便,不涉及到任何分布式场景。