通信方式
根据信息在传输线上的传送方向,分为以下三种通信方式:
- 单工通信:单向传输
- 半双工通信:双向交替传输
- 全双工通信:双向同时传输
带通调制
模拟信号是连续的信号,数字信号是离散的信号。带通调制把数字信号转换为模拟信号。
根据信息在传输线上的传送方向,分为以下三种通信方式:
模拟信号是连续的信号,数字信号是离散的信号。带通调制把数字信号转换为模拟信号。
网络把主机连接起来,而互连网(internet)是把多种不同的网络连接起来,因此互连网是网络的网络。而互联网(Internet)是全球范围的互连网。
互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。
OSI模型由ISO于1984年创建,是一个解释计算机之间传输数据过程的参考框架。它分为七层,共同执行专门的网络功能,从而实现更系统的网络方法。
OSI模型由七个抽象层组成,按自上而下的顺序排列:
Spring Cloud Alibaba Seata 源码分析-数据源代理
分析AT模式如何解析SQL并写入undolog,首先我们要先明确实际上Seata其中采用了数据源代理的模式。
那么这个就需要我们在回顾一下GlobalTransactionScanner这个类型,在这个类型中继承了一些的接口和抽象类,比较关键的几个:
Spring Cloud Alibaba Seata 源码分析 服务端(TC)源码解读
我们的Seata服务端在应用的时候需要准备三张表,那么这三张表分别代表的意思就是
客户端请求服务端以后,我们就需要把对应的全局事务包括分支事务和全局锁全部存放到这里。
![image.png](spring-cloud-alibaba-seata-source-code-analysis-server (-tc)-source-code-interpretation/a1cca08a47184ea5b4d1a2ba1cb12b5e.png)
Spring Cloud Alibaba Seata 2PC 核心源码解读
GlobalTransactionalInterceptor全局事务拦截器,一旦执行拦截器,就会进入到其中的invoke方法,在这其中会做一些@GlobalTransactional注解的判断,如果有注解以后,会执行全局事务和全局锁,那么在执行全局事务的时候会调用handleGlobalTransaction全局事务处理器,这里主要是获取事务信息
1 | Object handleGlobalTransaction(final MethodInvocation methodInvocation, |
Spring Cloud Alibaba Seata 源码入口
首先一个Seata的客户端启动一般分为几个流程:
在这个其中,就会涉及到几个核心的类型,首先我们需要来看配置类型GlobalTransactionAutoConfiguration
Spring Cloud Alibaba Seata Saga 事务模式
Saga模式是SEATA提供的长事务解决方案,在Saga模式中,业务流程中每个参与者都提交本地事务,当出现某一个参与者失败则补偿前面已经成功的参与者,一阶段正向服务和二阶段补偿服务(执行处理时候出错了,给一个修复的机会)都由业务开发实现。