发布日期:2022-08-01 09:18:33
分享到
之前我们分析了银行等金融机构的运维组织架构现状,讨论运维组织敏捷化转型的背景,最后解释了什么是敏捷型的运维组织以及如何打造敏捷型的运维组织,本文我们重点来关注架构实施层面:金融业分布式系统运维实践。
分布式系统,无论在互联网行业亦或是传统行业,都不再是新兴事物,互联网公司推行较早,传统行业近几年也开始发力建设。对于运维人来说,分布式系统的运维与传统集群式系统的运维大相径庭,我们今天就来探讨一下分布式运维的建设。
01. 分布式运维的挑战
1)分布式系统的定义
2)分布式系统呈现如下特征分布性:由多台计算机组成,在地域上是分散的;系统功能分布在各个节点上,具有数据处理的分布性;
自治性:各个节点都包含自己的处理机和内存,具备独立处理数据的功能,通常彼此地位平等,无主次之分;
并行性:一个大的任务可以划分为若干个子任务,分别在不同的主机上执行;
全局性:存在单一的、全局的进程通信机制,使得任何一个进程都能与其他进程通信,并且不区分本地通信与远程通信,同时还有全局的保护机制。
02. 稳定性建设目标
1)建设目标主要有两个:
降发生:事前的管理,通过建设“高可用、高性能、高质量”的系统来降低故障发生的概率;
降影响:事后的管理,在故障发生后,“早感知、快定位、急止损、优改进”,降低影响范围。
2)量化评价指标三个:
03. 稳定性运维建设模式
分布式运维建设模式主要分为:架构设计、容量设计、运维设计、安全设计。我们主要看下和运维相关的要点。
1)架构设计
一般情况下,架构设计主要由研发部门主导,但是运维人员不能只是作为后端被动承接系统的运维,最好在架构设计阶段就提出规范,满足稳定性运维的要求:
① 去除单点
② 依赖设计
高等级服务不允许强依赖于低等级的服务或资源。
③ 数据保护
数据保护的主要目的是提升数据安全性,业界一般通过rpo(恢复点目标)与rto (恢复时间目标)两个指标进行度量,核心目标是尽可能缩短数据恢复时间(降低rto),避免数据丢失(rpo接近于0)。
针对不同的业务系统、分布式系统里面不同的服务模块,需要有对应级别的数据保护考量。
服务器单点保护:基于本地盘跨机房异步复制数据,但服务器出现不可恢复故障时将存在数据丢失
存储单点保护:基于单存储数据库系统跨机房异步复制,但存储出现不可恢复故障时将存在数据丢失
同机房内多点保护:基于同机房多点保护的数据库系统,同机房多份redo及跨机房异步复制模式,但机房故障时存在数据丢失
同城异机房保护:基于同城异机房保护的数据库系统,采取同城异机房内多份redo保护及跨机房dg,但城市出现灾备时存在数据丢失
异地异机房保护:基于异地多点保护的数据库系统,采取跨城跨机房数据保护,但出现人类灾难时存在数据丢失
④ 灾备设计
当故障或者灾难发生时,可通过灾备技术保证业务不中断、数据不丢失。针对不同的业务场景,综合成本与效果的考量,选择相应的灾备设计。
⑤ 弹性设计
2)容量设计
系统上线之前,最好能有一个比较严谨的测试,比如全链路压测,模拟用户真实流量,对容量和性能等做测试。
3)运维方案设计
提前考虑系统上线后的运维诉求,做到变更可控、系统可观、演练到位。
④ 安全设计
系统安全是系统稳定的基础,主要有如下四个方面:
04. 分布式系统运维工具落地建设
1)一体化综合管理工具
微服务化日甚的当下,故障影响往往是复杂多样的(单一节点故障可能导致全线业务出错),往往需要多个技术团队的协同保障系统稳定。需要统一的系统化稳定性管理能力作为“连接器”实现多团队协同“透明化”作战,并进一步通过故障应急过程及结果数据复盘,“数据化”风险趋势以确定建设重点,“标准化”故障管理流程以提升故障管理效率,定义业务或服务的slo ( service level objective,服务等级目标)以“结构化”组织稳定性保障能力。
2)故障预防工具
① 可观测能力
③ 容量管理
容量管理的核心有四个:
④ 全链路压测
通过全国各地cdn 节点模拟向生产系统施加压力,模拟路演进行整体容量和稳定性验证。全链路性能测试能力构建主要由以下几部分构成:
3)故障止损工具
① 应急平台
应急平台建设主要考虑以下方面:
05. 总结
分布式系统运维与传统运维的本质区别:
① 分布式系统运维:是面向应用可用性稳定性的,建设一体化能力。聚焦于稳定性,但建设围绕点是从稳定性的背面“故障”出发。
② 传统运维:主要面向基础架构;建设cmdb\监控\自动化的竖井能力。
③ 本质上都还是监管控,但是需要有两点:一是要融合并且面向应用;二是要升华,如apm、混沌工程、应用容量与成本等等。
④ 面向应用的混沌工程、应用容量、故障定位都需要监管控这些能力的融合。
⑤ 所有这些的实现都需要强有力的自动化运维平台的支撑。
微信扫码登录
申请演示
请登录后在查看!