当前位置:网站首页>服务稳定性治理
服务稳定性治理
2022-06-23 12:39:00 【51CTO】
稳定性治理是一个对故障进行管理的过程。从故障管理的视角看,可以分为故障预防、故障发现、故障定位、故障止损以及故障恢复5个阶段,稳定性建设的各项工作融入故障模型的各个阶段。如果将稳定性故障和火灾进行类比,稳定性工作模型实际上是一个防火–放火–灭火模型。
所谓防火,就是通过各种机制和措施,提前排查出系统中各种可能的隐患,防止灾难的发生;灭火是指实际发生了问题,就要最大限度地进行止损,减少灾难的影响面,尽快恢复业务的正常运行;放火类似于消防演习,定期模拟灾难的发生,并制定相应的疏散通道,通过演习可以排查出当前仍然有哪些待改进的地方。
微服务在开发、测试、运维、容量成本等方面带来了诸多难题,容器技术的使用可以很大程度上缓解微服务架构所带来的问题。容器的最有革命性的创新是镜像技术,它将应用程序、基础库和环境等封装在一起,作为微服务封装和运行的基石。轻量级的镜像技术作为微服务的交付方式。
- 容器环境下,由于镜像比较轻量,每次变更后,可以快速创建本次变更对应的镜像,同时可以基于本次镜像快速创建多个完全相同的测试环境,容器镜像封装了所有运行应用程序所必需的相关细节,比如应用依赖以及操作系统。这就使得镜像从一个环境移植到另外一个环境更加灵活,有力地支撑了微服务快速迭代场景下的测试。
- 微服务架构下微服务个数比较多,并且每个服务的变更非常频繁,运维的工作量很大,借助容器镜像,可以把环境交付提前。每个研发多付出5%的工作量,换取运维200%的工作量,可以加速微服务变更的快速部署和落地。
微服务的云化架构,在运维层面和之前会有很大的差异,基础设施层面,比如部署系统、配置系统、监控系统等都需要针对上云进行相应的适配调整,服务云化过程中也会遇到很多特有的问题。
- 容器网络和物理机网络打通
微服务云化迁移是直接从物理机迁移到Kubernetes容器集群。为了减少Kubernetes容器化改造过程中频繁的调用方式改动,我们在迁移过程中遵循一个重要的原则,迁移前后网络互通,这样迁移过程中调用方式不需要有任何变化,迁移过程中业务完全不需要感知。
- 认清物理机和容器环境上的差异
云化架构下,虽然使用上和之前没有明显的差异,但毕竟是两个完全不同的环境。容器环境下虽然在宿主机下也配置了对应的字符设备,但并未为宿主机下的容器单独创建,因此云化迁移过程中,应该对容器和物理机环境上的一些差异有着清醒的认识。
- 容器资源隔离
容器环境下,各种服务混部,当某个容器消耗的资源超过一定限度时,如果没有完善的资源隔离机制,就会导致同一宿主机上的其他服务异常。精细化的资源隔离技术是容器技术大规模推广的一个必要前提。
- 故障容灾
服务上云毕竟是个全新的环境,可能会遇到各种类型的问题,特别是网络层面,从硬件网络过渡到软件定义网络(SDN),虽然灵活性比之前大大加强,但SDN网络在成熟度和稳定性上比之前的硬件网络还有不小的差异。需要提前想到有哪些可能的故障类型,针对每种故障设置相应的容灾预案。
边栏推荐
- C file download method
- 对象池框架
- Go write file permission WriteFile (filename, data, 0644)?
- The R language inputs the distance matrix to the hclust function for hierarchical clustering analysis, uses the cutree function to divide the hierarchical clustering clusters, specifies the number of
- Is there any discount for opening an account now? Is it safe to open a mobile account?
- mysql中innodb下的redo log什么时候开始执行check point落盘的?
- MySQL使用ReplicationConnection導致的連接失效分析與解决
- 根据你的工作经历,说说软件测试中质量体系建设
- How should enterprises conduct efficient IT operation and maintenance management?
- Capacitated Facility Location Problem容量有限设施选址问题
猜你喜欢
![解决“Thread 1: “-[*.CollectionNormalCellView isSelected]: unrecognized selector sent to instance 0x7f”](/img/35/65511c49eca5ae8a1896d776b479d9.jpg)
解决“Thread 1: “-[*.CollectionNormalCellView isSelected]: unrecognized selector sent to instance 0x7f”

"Developer talk" nail connector +oa approval to realize digitalization of school students' leave and work scenes

Based on your work experience, talk about the quality system construction in software testing

What should testers do if the requirements need to be changed when the project is half tested?

群晖万兆网络配置与测试

LM05丨曾经的VIX(二代产品)

sql增加表记录的重复问题。

Technology sharing | wvp+zlmediakit realizes streaming playback of camera gb28181

AssetBundle资源管理

Analysis and solution of connection failure caused by MySQL using replicationconnection
随机推荐
R语言glm函数使用频数数据构建二分类logistic回归模型,分析的输入数据为频数数据、将频数数据转化为正常样本数据(拆分、裂变为每个频数对应的样本个数)
mysql innodb的redo log buffer中未commit的事务持久化到redo log后,万一事务rollback了怎么办?
R语言将距离矩阵输入给hclust函数进行层次聚类分析,使用cutree函数进行层次聚类簇的划分、参数k指定聚类簇的个数、给每个样本都分配了簇标签
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
在线文本实体抽取能力,助力应用解析海量文本数据
根据你的工作经历,说说软件测试中质量体系建设
What are the criteria for judging the end of the test?
用户行为建模
【系统架构】-软件架构的5大风格
Analysis and solution of connection failure caused by MySQL using replicationconnection
Transformers are RNNs (linear transformer)论文阅读
Wallys/DR6018-S/ 802.11AX MU-MIMO OFDMA / 2* GE PORTS/WIFI 6e / BAND DUAL CONCURRENT
R语言dplyr包filter函数过滤dataframe数据中指定数据列的内容包含指定字符串的数据行、基于grepl函数
网络基础和框架
C#学习(高级课程)Day15——异常处理和命名空间
Go write file permission WriteFile (filename, data, 0644)?
sql增加表记录的重复问题。
New project, how to ensure the coverage of the test?
Photon network framework
Excel-VBA 快速上手(一、宏、VBA、过程、类型与变量、函数)