云原生高可用架构:实现应用无损透明倒换

需积分: 0 1 下载量 186 浏览量 更新于2024-07-01 收藏 1.97MB PDF 举报
"面向互联网场景的云原生高可用架构1" 在互联网场景中,云原生高可用架构是确保业务连续性和用户体验的关键因素。华为云数据库专家彭立勋探讨了云原生数据库在应对这些场景时所面临的挑战,并提出了实现应用无损透明倒换的技术方案。 云原生数据库在互联网环境下的挑战主要包括以下几个方面: 1. **云服务运维**:在进行如规格变更、增减实例、主备倒换和实例迁移等常规运维操作时,可能会导致服务中断,需要应用程序有复杂的错误处理逻辑。 2. **故障处理**:主机故障或实例宕机可能导致服务不可用,需要快速恢复,同时减少对用户的影响。 3. **Serverless演进**:随着云原生数据库向Serverless架构的转变,弹性伸缩和实例扩展更加频繁,但这也可能引发更多的实例倒换问题。 传统的数据库系统在进行SwitchOver(计划内切换)和FailOver(故障转移)时,应用程序必须能够感知系统变化并采取相应措施,比如检查连接状态、处理中断的事务、进行事务补偿和重建Session上下文,这增加了应用的复杂性。 云原生数据库Serverless化的挑战主要在于如何实现计算资源的弹性伸缩。共享存储池允许存储资源在线弹性伸缩,但计算资源通常与物理主机绑定,跨机调度会触发实例倒换,这就需要解决实例倒换过程中的应用无损问题。 为了实现应用无损透明倒换,目标设定为: 1. 在倒换过程中保持连接和事务的连续性,避免中断。 2. 不需要应用程序手动进行事务补偿。 3. 自动恢复和重建Session上下文,减少应用的负担。 4. 引入ALT(Application Lossless and Transparent)框架,确保这一目标的实现。 ALT技术架构包括了几个关键组件: - **DrainSession**:在倒换前,排干正在进行的事务或查询,确保没有未完成的操作。 - **TransactionGuard**:保障事务在倒换过程中的安全,防止数据丢失或不一致。 - **SessionRecovery**:自动恢复用户的Session上下文,使得用户在倒换后可以无缝继续操作。 - **ConnectionPinning**:通过智能路由,保证已建立的连接在倒换期间保持稳定,不被中断。 通过这样的技术架构,云原生数据库能够提供更高水平的可用性,同时减轻了互联网应用在应对数据库操作和故障时的压力,实现了真正意义上的无损透明倒换,提升了整体的云服务质量和用户体验。