不想业务被中断?快来解锁华为云 RDS for MySQL 新特性
本文分享自华为云社区《不想业务被中断?快来解锁华为云RDS for MySQL新特性》,作者:GaussDB 数据库。
相信很多用户在实际业务中都会碰到用户会话被中断这样的痛点,这时候其应用程序需要感知到会话变化,并提供复杂的应对措施来解决故障,比如判断数据库连接是否中断,进行事务补偿以及重建数据库会话上下文等。故障背后的原因其实主要是由主备模式的数据库系统在进行主备倒换、小版本升级和规格变更时造成的,但体现在用户层面上则会对业务造成一定的影响。
华为云 RDS for MySQL 云数据库新特性重磅发布
遇到故障后再采取措施明显不利于业务的连续性,也是企业最不想遇到的情况。华为云 RDS for MySQL 云数据库最新特性——应用无损透明(ALT)重磅发布,专为解决该痛点而打造,能完好地就业务中断问题对症下药,在进行数据库系统切换与故障转移时,可以提供无损的应用连续性,保证企业业务不中断。该功能主要从三个方面来实现:
避免连接和事务中断
无需用户对事务进行补偿
无需恢复和重建会话上下文
应用无损透明(ALT)的功能实现
那么,应用无损透明(ALT)为什么能这么厉害?到底是怎么实现业务连续性的呢?我们不妨从它的技术架构上了解一下。
应用无损透明(ALT)功能以用户连接为粒度,用户可以连接到数据库代理(Proxy),在进行主备切换、规格变更或者小版本升级时,系统会复制用户的后台会话,在达到安全的事务边界后,确保后端 Session 操作上下文被完整克隆至目的节点,从而完成主备切换,保证业务无影响。
其中,安全的事务边界是指当前会话上的事务提交完成,开启下一个事务之前的状态,例如:开启 autocommit 的事务块每个语句执行完成时,单独 DML、DDL 语句,执行完成,都可以达到事务边界。会话克隆能够拷贝和转移会话状态,包括会话系统变量、用户自定义变量和其他上下文,例如`db_name`,`Prepared Statements`等。
应用无损透明(ALT)已通过成功验证
目前,该功能已经经过完备的测试。使用了该功能,用户可以通过 Sysbench,Tpcc-MySQL 或 MySQL 客户端等各种工具链接到读写分离地址,进行主备切换,从而保障用户的业务不会被突然中断。
以下分别是使用 Sysbench,Tpcc-MySQL 和 MySQL 客户端工具进行主备切换的效果示意,可以看出,不管哪种工具,都可以保证业务的连续性。
使用 Sysbench 进行主备切换的示例
使用 Tpcc-MySQL 进行主备切换的示例
非 ALT 模式下使用 Tpcc-MySQL 进行主备切换的示例
使用 MySQL 命令行工具主备切换的示例
如下图所示,用户自定义变量、会话变量,数据库在主备切换前后均保持一致。
为保证主备切换的可靠性,在开通使用应用无损透明(ALT)的同时,可开通 Proxy 读写分离,通过读写分离地址连接实例,来保证主备切换的可靠性。
业务的高安全和高可靠是每个企业的硬性需求。在应用无损透明(ALT)的加持下,华为云 RDS for MySQL 云数据库将以更优越的容灾能力满足企业多种可用性需求,实时为企业业务保驾护航!
【重磅推荐】开年采购享好价!华为云数据库 MySQL、GaussDB(for Redis)18 元/年限量秒杀,不限新老用户包年 3 折起。活动期间还有 8000 元大礼包、满额赠华为笔记本、0 门槛抽奖等多重福利!https://activity.huaweicloud.com/dbs_Promotion/index.html
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/d3906b72459c2b7d43a65c2f2】。文章转载请联系作者。
评论