1.RPC介绍
RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,允许程序调用远程计算机上的程序。
从集中式走向分布式
集中式:大型机,业务集中式处理
分布式:小型机,业务拆分部署
作用:实现分布式系统间通信
RPC请求过程
现在PRC方案套件
Provider:服务提供者,暴露服务
Consumer:服务消费者,调用服务
Registry:服务注册和发现的中心目录服务
Monitor:监控中心
通信方式
通信方式对比
优点 | 缺点 | 使用场景 | |
---|---|---|---|
HTTP | 1.开发成本相对较低 2.80端口,网络防火墙不会处理 | 1.应用层协议,性能相对于TCP低 | 对外提供服务 |
TCP | 传输层协议,性能高 | 1.开发成本比较高2.非知名端口,需要防火墙特殊处理 | 公司内部服务 |
3.常见问题
1.接口幂等
原因:重复调用
实现方式:
(1)全局唯一ID
(2)去重表
(3)乐观锁
2.超时处理
原因:
(1)网络抖动
(2)服务不可用
解决办法
(1)服务实现幂等,调用方重试
(2)业务状态再确认
(3)人工干预