更新时间:2024-12-25 GMT+08:00
应用无损透明(ALT)简介
数据库系统在进行只读升主、小版本升级和规格变更时,可能会中断用户会话,此时用户的应用程序需要感知到会话变化并提供复杂的应对措施来解决故障,比如判断数据库连接或事务是否中断,进行事务补偿以及重建数据库会话上下文等。
针对上述问题,TaurusDB提供了应用无损透明(ALT),在数据库系统切换时,可以避免数据库连接和事务中断,无需用户对事务进行补偿、无需恢复和重建会话上下文,从而实现无损的应用连续性,保证业务不中断。
架构图
图1 架构图
应用无损透明(ALT)功能以用户连接为粒度,用户可以连接到数据库代理,在进行只读升主、规格变更或者小版本升级时,系统会复制用户的后台会话,在达到安全的事务边界后,确保后台会话操作上下文被完整克隆至目的节点,从而保证业务不会中断。
安全的事务边界是指当前会话上的事务提交完成,开启下一个事务之前的状态,例如:
- 开启autocommit的事务块每个语句执行完成时,可以达到事务边界。
start transaction; DML; commit;
- 关闭autocommit时,当commit执行完成,达到事务边界。
- 单独DML、DDL语句,执行完成,可以达到事务边界。
- 使用表锁、备份锁、用户自定锁时,需要释放锁以后,达到事务边界。
注意事项
分类 |
注意事项 |
---|---|
版本约束 |
|
使用约束 |
|
不支持的功能 |
|
父主题: 应用无损透明(ALT)