云服务器内容精选

  • 架构图 图1 架构图 应用无损透明(ALT)功能以用户连接为粒度,用户可以连接到数据库代理(Proxy),在进行只读升主、规格变更或者小版本升级时,系统会复制用户的后台会话,在达到安全的事务边界后,确保后台会话操作上下文被完整克隆至目的节点,从而保证业务不会中断。 安全的事务边界是指当前会话上的事务提交完成,开启下一个事务之前的状态,例如: 开启autocommit的事务块每个语句执行完成时,可以达到事务边界。 start transaction; DML; commit; 关闭autocommit时,当commit执行完成,达到事务边界。 单独DML、DDL语句,执行完成,可以达到事务边界。 使用表锁、备份锁、用户自定锁时,需要释放锁以后,达到事务边界。
  • 架构图 应用无损透明(ALT)以用户连接为粒度,整个架构如图1所示。 图1 架构图 用户应用连接到数据库代理(Proxy)。 进行主备切换、规格变更或者小版本升级时,系统会复制用户的后台会话。 通过事务排干机制以达到安全的事务边界。 安全的事务边界是指当前会话上的事务提交完成,开启下一个事务之前的状态,例如: 开启autocommit的事务块每个语句执行完成时,可以达到事务边界。 start transaction; DML; commit; 关闭autocommit时,当commit执行完成,达到事务边界。 单独DML、DDL语句,执行完成,可以达到事务边界。 使用表锁、备份锁、用户自定锁时,需要释放锁以后,达到事务边界。 XA事务需要进行提交或者回滚操作,达到事务边界。 转移会话上下文,切换用户后台会话。 其中会话克隆能够拷贝和转移会话状态,包括会话系统变量、用户自定义变量和其他上下文,例如`db_name`。
  • 应用无损透明(ALT)体验 当ALT功能开启,用户使用Sysbench,Tpcc-MySQL或MySQL客户端等工具连接到读写分离地址时,进行主备切换,用户的连接不会中断,只会出现短时间的卡顿后很快恢复。 以下分别是使用Sysbench,Tpcc-MySQL和MySQL客户端工具进行主备切换的效果示意。 使用Sysbench的进行主备切换的示例 使用tpcc-mysql的进行主备切换的示例 使用MySQL命令行工具主备切换的示例 如下图所示,用户自定义变量、会话变量、数据库在主备切换前后保持一致。 如下图所示,不同的事务排干超时时间,可能会影响到当前会话的ALT能力; 父主题: 应用无损透明(ALT)