基于DevOps、微服务以及k8s的高可用架构探索与实现

本文探讨了在VUCA时代,如何应对高可用架构面临的挑战,如应用程序异常、操作系统宕机等。通过整体原则、策略和目标,文章深入讨论了Kubernetes、微服务和DevOps如何协同工作,确保高可用性。Kubernetes提供服务自愈和弹性扩容能力,微服务实现解耦和独立部署,DevOps则加速了交付流程,增强了系统的稳定性。文中还提到了环境一致性、安全性和可视化的关键角色,以及动态扩容的策略和方式。
摘要由CSDN通过智能技术生成

现代的企业面临着一个VUCA的时代,高可用系统架构面对着诸多不确定性带来的影响和挑战,如何才能能够突破困境,使得复杂的系统仍然能保持业务的连续性。业务的弹性扩容也同时会对高可用性的架构造成影响,在实践中,我们结合微服务/K8S/DevOps这三架马车进行了微服务的容器化的实践之路。

高可用架构的挑战

在现实的复杂而又不确定性的环境下,高可用架构面临诸多挑战,都可能对系统带来巨大影响,比如:

  • 应用程序的异常退出
  • 操作系统的突然宕机
  • 服务器的意外断电
  • 运维人员人为操作失误
  • 地震等不可抵抗因素
  • 业务量的突然增大

天灾和人为操作失误等不确定因素之外,从整体的角度来说,
现在企业级的高可用架构已经变得越来越复杂,我们往往需要在多种OS并存,各种软硬件的结合,多种开发语言并用,新旧系统共存存的条件下进行高可用行设计,
加之无时不在的变更,动态横向的需求不断提高,速度和稳定同时需要被满足,这些都使得高可用的架构变得越来越困难。

整体原则和策略

企业级高可用性架构面临着的这些的挑战,,如何才能能够突破困境,使得复杂的系统仍然能保持业务的连续性,同时如何实践微服务和容器化等技术的实践,这里将会列出整体的原则和策略。

目标&指标

物有本末,事有终始,知所先后,则近道矣。了解设计的目标,以终为始很关键。良好的系统解耦,扩展性,可维护性等都很重要,但是服务的稳定性和连续性则更为重要。
衡量高可用性也有很多指标比如MTTF/MTTR/RPO/RTO,根据MTTR和MTTF可以计算出系统可以被正常使用的时间,除此之外还有,RTO和RPO分别从时间和数据两个角度分别能够验证高可用系统容灾备份在数据冗余和业务恢复方面的能力。

高可用性定义

指标 说明 含义 备注
MTBF Mean Time Between Failure 平均无故障工作时间 越长越好
MTTR Mean Time To Repair 平均修复时间 越短越好
MTTF Mean Time To Failure 平均失效时间 越长越好

MTBF = MTTF + MTTR

一般来说达到N个九的高可用性,具体含义如下:

级别 系统可用性比率 MAX最大可能服务不可用时间 备注说明
2个九 99% 87.6小时
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值