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