稳定的架构设计与运维

200 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第29天,点击查看活动详情

一个稳定的架构是设计与运维出来的,为了达到稳态运行,设计上考虑了以下几个方面:

1)选用合适的云原生产品

健康码本身是要求高可用、高并发的应用,为了满足业务稳定上线、快速上线的需求,我们采用了腾讯云的公有云/私有化产品解决方案。以下是健康码上线时碰到的几大类问题:

  • 带宽容量问题

由于系统需要大容量的承载能力,导致地方政务云资源供给能力不足。表现如公网出口防护能力不足(如经常性面对境外DDOS攻击/CC攻击),IDC出口设备每秒新建连接数不够等。我们采用了DDoS高防包/waf/ecdn等方案来满足。DDoS高防包与Waf产品有效抵挡住境内外的DDoS攻击、Web攻击、入侵、漏洞利用、挂马、篡改、后门、爬虫等网站及 Web 业务安全防护问题;ECDN产品通过静态资源缓存有效降低混合云场景下政务云入口新建连接数、带宽。也提升了用户的访问体验。

  1. 开发及部署效率问题

疫情的需求迭代较快,如果从头开始开发产品,时间上不允许。腾讯云TCB产品做为一站式云原生解决方案,更加贴近小程序/Web 应用开发场景,使开发人员能快速构建完整项目、针对场景快速优化定制且集中管理,各产品间无需耗费时间精力分别配置与打通,无需切换多款云产品的控制台进行使用。

  • 云资源成本问题

**云产品拥有较大的共享资源冗余,能够快速达成大容量,同时深度采用云原生产品,能够带来较大程度的成本节约。**例如采用scf云函数,无需在购买云服务器的情况下运行代码,使用腾讯云的能力弹性、安全地运行代码。无需冗余资源闲时运行成本买单,同时因为云原生产品具有天然的跨可用区容灾能力,基于云原生的两地三中心架构设计,基于腾讯云公有云通常可以满足的高可用能力如:从负载层采用CLB的跨可用区高可用能力进行可用区容错;应用层TSF/TKE/CKAFKA的多可用区高可用能力容错;存储层采用TDSQL多可用区部署及主从同步能力满足高可用与容灾。

2)立体化监控体系设计

**完整的监控体系,对提升系统SLA有非常重要的作用。**一方面监控系统具有提前业务事件预警能力。最有效的监控体系能在业务发生故障前有效预警,从而知会SRE提前介入处置,防止事件扩大成故障,从而降低高故障数量。另一方面在发生故障后,能够评估故障影响程度、有效追踪异常点,引导技术人员介入处置,提升系统故障恢复SLA。

3)系统压力测试、混沌工程、应急预案等多方面检验

随着业务系统逐渐趋于成熟,要保障常规运行过程中的稳定性, 需要周期性保持对系统的应急演练工作。一方面通过压力测试、破怀性测试来检验系统的承受能力。另一方面通过这些演练来检验运维人员团队在面对业务事件时的响应质量、处置预案是否成熟与合规。