首先,我们先简单了解下什么是RPC框架。直观的理解,一个项目集成了RPC框架后,通过配置一个注册中心,一个应用(称为服务提供者)将某个接口暴露出来,另一个应用(称为服务消费者)引用这个暴露的接口可以远程调用到服务提供者的接口。
然后,我们再简单的了解一下RPC是如何实现的,上面说的服务提供者接收到调用请求后,通过反射调用对应的接口,然后将响应返回给服务消费者。那么服务消费者又是通过动态代理生成一个匿名类(其实就是生成服务提供者暴露的接口的具体实现类)。另外,加上 zookeeper做注册中心,为不同服务提供接口注册,服务注册的功能。最后,使用netty进行网络通信。
- 服务消费者,使用动态代理
- 服务提供者,使用反射调用
- zookeeper,使用临时节点,watcher机制做服务发现与注册
- netty,使用NIO,保证同步非阻塞的网络通信
学习了这个轻量级的RPC框架后,想必以后对其他RPC框架会更轻松的学习和理解。
如果觉得有帮助,可以留下你们宝贵的star哈