1.RPC(Remote Procedure Call)远程过程调用
RPC是一种通过网络从远程计算机程序上请求服务的技术思想,它不是一种规范或者协议!
作用1:屏蔽远程调用和本地调用的区别,方便远程服务的使用
作用2:隐藏底层网络通信的复杂性,可以更加专注于业务逻辑
2.常用的RPC框架
- 阿里的Dubbo/DubboX
- 谷歌的 gRPC
- Spring Cloud
3.Dubbo简介
Dubbo是一款高性能,轻量级,开源的服务架构;用于提供高性能和透明化的远程调用服务。
- 作用1:透明化的远程方法调用,只需要在spring配置即可
- 作用2:软负载均衡和容错机制
- 作用3:服务自动注册与发现,不需要在代码中写死服务提供方地址
4.Dubbo支持的协议
- 协议是两个网络实体进行通信的基础
- 数据在网络上从一个实体传输到另一个实体是以字节流的形式进行传递的,在字节流的世界里,如果没有协议,那么字节流(二进制数据)就无法恢复成二维或多维数据(对象实体)。
支持的协议:
- Dubbo协议 ( 推荐使用的协议)
- Hessian协议 (底层业是http协议)
- HTTP协议
- RMI协议
- WebService协议
- Memcached协议
- Redis协议