关于RPC与远程调用RPC:
远程过程调用协议
功能:客户端完全不知道调用细节的情况下,调用远程计算机上的某个对象,就像调用本应用程序上的对象。常见的RPC的实现
- dubbo
- Apache Thrift
- GRPC
- Hetty
RPC框架的影响性能的因素:
-
所支持的网络I/O模型
-
基于的网络协议
-
消息封装的格式
-
实现的服务管理方式
RCP:解决异常问题
解决分布式事务问题:两阶段提交协议(2PC)
TCC分布式事务
解决的问题:
确保微服务之间的事务操作的原子性、一致性等得到保障。
TCC柔性事务(分布事务):
实现方法通过在注解中声明Confirm方法与Cancel方法。
CAP原理
- 一致性
- 分区容忍性
- 可用性
按照CAP原理为目标,主要是为了保证数据库系统的强一致性。
强一致性:任何时刻客户读取X,无论它在分布式系统的那个节点进行这个读取操作,读取的X的值是一致的。
事务补偿机制
功能:如果某一个原子服务执行失败并不是将之前提交数据回滚,而是通过一个对应的反向服务将之前的结果逆向执行。
Hystrix熔断机制
功能:将分布式业务的正向操作和逆向操作分离,并通过设置最长等待时间、抛出异常等方法让逆向操作自动执行。
解决事务补偿机制中反向操作,导致其他业务无法执行,而造成的系统雪崩。