当前位置:网站首页>服务稳定性治理
服务稳定性治理
2022-06-23 12:39:00 【51CTO】
稳定性治理是一个对故障进行管理的过程。从故障管理的视角看,可以分为故障预防、故障发现、故障定位、故障止损以及故障恢复5个阶段,稳定性建设的各项工作融入故障模型的各个阶段。如果将稳定性故障和火灾进行类比,稳定性工作模型实际上是一个防火–放火–灭火模型。
所谓防火,就是通过各种机制和措施,提前排查出系统中各种可能的隐患,防止灾难的发生;灭火是指实际发生了问题,就要最大限度地进行止损,减少灾难的影响面,尽快恢复业务的正常运行;放火类似于消防演习,定期模拟灾难的发生,并制定相应的疏散通道,通过演习可以排查出当前仍然有哪些待改进的地方。
微服务在开发、测试、运维、容量成本等方面带来了诸多难题,容器技术的使用可以很大程度上缓解微服务架构所带来的问题。容器的最有革命性的创新是镜像技术,它将应用程序、基础库和环境等封装在一起,作为微服务封装和运行的基石。轻量级的镜像技术作为微服务的交付方式。
- 容器环境下,由于镜像比较轻量,每次变更后,可以快速创建本次变更对应的镜像,同时可以基于本次镜像快速创建多个完全相同的测试环境,容器镜像封装了所有运行应用程序所必需的相关细节,比如应用依赖以及操作系统。这就使得镜像从一个环境移植到另外一个环境更加灵活,有力地支撑了微服务快速迭代场景下的测试。
- 微服务架构下微服务个数比较多,并且每个服务的变更非常频繁,运维的工作量很大,借助容器镜像,可以把环境交付提前。每个研发多付出5%的工作量,换取运维200%的工作量,可以加速微服务变更的快速部署和落地。
微服务的云化架构,在运维层面和之前会有很大的差异,基础设施层面,比如部署系统、配置系统、监控系统等都需要针对上云进行相应的适配调整,服务云化过程中也会遇到很多特有的问题。
- 容器网络和物理机网络打通
微服务云化迁移是直接从物理机迁移到Kubernetes容器集群。为了减少Kubernetes容器化改造过程中频繁的调用方式改动,我们在迁移过程中遵循一个重要的原则,迁移前后网络互通,这样迁移过程中调用方式不需要有任何变化,迁移过程中业务完全不需要感知。
- 认清物理机和容器环境上的差异
云化架构下,虽然使用上和之前没有明显的差异,但毕竟是两个完全不同的环境。容器环境下虽然在宿主机下也配置了对应的字符设备,但并未为宿主机下的容器单独创建,因此云化迁移过程中,应该对容器和物理机环境上的一些差异有着清醒的认识。
- 容器资源隔离
容器环境下,各种服务混部,当某个容器消耗的资源超过一定限度时,如果没有完善的资源隔离机制,就会导致同一宿主机上的其他服务异常。精细化的资源隔离技术是容器技术大规模推广的一个必要前提。
- 故障容灾
服务上云毕竟是个全新的环境,可能会遇到各种类型的问题,特别是网络层面,从硬件网络过渡到软件定义网络(SDN),虽然灵活性比之前大大加强,但SDN网络在成熟度和稳定性上比之前的硬件网络还有不小的差异。需要提前想到有哪些可能的故障类型,针对每种故障设置相应的容灾预案。
边栏推荐
- kubernetes comfig subpath
- 【深入理解TcaplusDB技术】单据受理之事务执行
- CDH mail alarm configuration
- IPSec传输模式下ESP报文的装包与拆包过程
- Follow the promotional music MV of domestic tour in Thailand and travel to Bangkok like local people
- Ablebits Ultimate Suite for Excel
- R语言使用MASS包的polr函数构建有序多分类logistic回归模型、使用exp函数和coef函数获取模型中每个变量(自变量改变一个单位)对应的优势比(odds ratio)
- R language dplyr package mutate_ The all function multiplies all numeric columns (variables) in the dataframe by a fixed value to generate a new data column, and specifies a user-defined suffix name f
- 手机开户有什么风险吗?开户安全吗?
- C# 文件下载方式
猜你喜欢

【深入理解TcaplusDB技术】单据受理之事务执行

AssetBundle资源管理

Qunhui 10 Gigabit network configuration and test

冷板式、浸没式、喷淋式液冷散热能否引领高性能计算发展?
![[introduction to UVM== > episode_7] ~ sequence, sequence item, sequencer, driver](/img/75/cd374bab8da2c133a0207a2472581f.png)
[introduction to UVM== > episode_7] ~ sequence, sequence item, sequencer, driver

Unity learning day14 -- collaboration and WWW

When did the redo log under InnoDB in mysql start to perform check point disk dropping?

Ecological Wanli database and Westone completed compatible certification to jointly build a network security ecosystem

Dataset之GermanCreditData:GermanCreditData数据集的简介、下载、使用方法之详细攻略

Homekit and NFC support: smart Ting smart door lock SL1 only costs 149 yuan
随机推荐
R语言使用构建有序多分类逻辑回归模型、ordinal.or.display函数获取有序逻辑回归模型的汇总统计信息(变量对应的优势比及其置信区间、以及假设检验的p值)、汇总统计结果保存到csv
A bug development means that the user will not operate like this, and there is no need to repair it. How should testers respond?
Deep thinking: in-depth analysis of some scenes in Gaia Altman and the philosophy and perception reflected
【网站架构】10年数据库设计浓缩的绝技,实打实的设计步骤与规范
Unity学习Day14--协程和WWW
根据你的工作经历,说说软件测试中质量体系建设
The two 985 universities share the same president! School: true
Go write permissions to file writefile (FileName, data, 0644)?
"Developer talk" nail connector +oa approval to realize digitalization of school students' leave and work scenes
What should testers do if the requirements need to be changed when the project is half tested?
C#学习(高级课程)Day13——反射
Technology sharing | wvp+zlmediakit realizes streaming playback of camera gb28181
R语言dplyr包filter函数过滤dataframe数据中指定数据列的内容包含指定字符串的数据行、基于grepl函数
数据中台稳定性的“四高” | StartDT Tech Lab 18
< Sicily> 1001. Rails
R language uses the multinom function of NNET package to build a disordered multi classification logistic regression model, uses regression coefficients and their standard errors to calculate the valu
sql增加表记录的重复问题。
js: 获取页面最大的zIndex(z-index)值
<Sicily>1001. Rails
简历的项目经历,测试人员书写要注意的几个问题