华为云FunctionGraph构建高可用系统的实践

💡 原文中文,约6900字,阅读约需17分钟。
📝

内容提要

本文介绍了构建高可用的Serverless计算平台,解决云服务中的系统异常和依赖服务故障。通过流量突变治理、系统服务异常治理、系统依赖服务异常治理和变更引起治理等方法,提高系统可用性。FunctionGraph在容灾架构、流控、重试、缓存、灰度升级、监控告警和流程规范等方面的设计实践,提供高效的资源弹性能力,实现函数请求的重试和依赖服务的隔离,以及灰度升级和监控告警等功能。强调持续构建更高可用服务的重要性。

🎯

关键要点

  • 每年云服务系统异常导致客户经济损失,构建高可用Serverless计算平台至关重要。
  • 高可用性是系统设计的关键指标,通常通过SLA来衡量。
  • FunctionGraph面临系统本身及依赖服务的健壮性挑战,需应对流量攻击和硬件故障等异常情况。
  • 针对常见问题,提出流量突变治理、系统服务异常治理、依赖服务异常治理和变更引起治理等解决方案。
  • FunctionGraph在容灾架构、流控、重试、缓存、灰度升级、监控告警等方面进行了优化,提升系统可用性。
  • 容灾架构通过多集群部署和AZ隔离来提升系统的容灾能力。
  • 流控策略确保各个链路的稳定性,防止系统过载。
  • FunctionGraph实施重试策略,确保客户请求在异常情况下仍能成功执行。
  • 缓存机制保障系统在依赖服务故障时仍能正常运行。
  • 熔断策略防止异常流量影响正常客户,确保系统稳定。
  • 灰度升级策略减少升级带来的风险,确保系统平稳过渡。
  • 监控告警能力快速发现异常,减少系统中断时间。
  • 流程规范确保在技术无法解决问题时,通过人为介入快速消除风险。
  • 与客户共同设计的容灾方案在系统异常时至关重要。
  • FunctionGraph遵循“冗余+故障转移”原则,持续提升系统可用性能力。
➡️

继续阅读