4

服务稳定性治理_枫叶飘飘的技术博客_51CTO博客

 2 years ago
source link: https://blog.51cto.com/key3feng/5409507
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

服务稳定性治理

原创

key_3_feng 2022-06-22 21:16:45 博主文章分类:2022年6月 ©著作权

文章标签 微服务 治理 文章分类 其它 系统/运维 yyds干货盘点 阅读数165

稳定性治理是一个对故障进行管理的过程。从故障管理的视角看,可以分为故障预防、故障发现、故障定位、故障止损以及故障恢复5个阶段,稳定性建设的各项工作融入故障模型的各个阶段。如果将稳定性故障和火灾进行类比,稳定性工作模型实际上是一个防火–放火–灭火模型。

所谓防火,就是通过各种机制和措施,提前排查出系统中各种可能的隐患,防止灾难的发生;灭火是指实际发生了问题,就要最大限度地进行止损,减少灾难的影响面,尽快恢复业务的正常运行;放火类似于消防演习,定期模拟灾难的发生,并制定相应的疏散通道,通过演习可以排查出当前仍然有哪些待改进的地方。

微服务在开发、测试、运维、容量成本等方面带来了诸多难题,容器技术的使用可以很大程度上缓解微服务架构所带来的问题。容器的最有革命性的创新是镜像技术,它将应用程序、基础库和环境等封装在一起,作为微服务封装和运行的基石。轻量级的镜像技术作为微服务的交付方式。

  • 容器环境下,由于镜像比较轻量,每次变更后,可以快速创建本次变更对应的镜像,同时可以基于本次镜像快速创建多个完全相同的测试环境,容器镜像封装了所有运行应用程序所必需的相关细节,比如应用依赖以及操作系统。这就使得镜像从一个环境移植到另外一个环境更加灵活,有力地支撑了微服务快速迭代场景下的测试。
  • 微服务架构下微服务个数比较多,并且每个服务的变更非常频繁,运维的工作量很大,借助容器镜像,可以把环境交付提前。每个研发多付出5%的工作量,换取运维200%的工作量,可以加速微服务变更的快速部署和落地。

微服务的云化架构,在运维层面和之前会有很大的差异,基础设施层面,比如部署系统、配置系统、监控系统等都需要针对上云进行相应的适配调整,服务云化过程中也会遇到很多特有的问题。

  • 容器网络和物理机网络打通

微服务云化迁移是直接从物理机迁移到Kubernetes容器集群。为了减少Kubernetes容器化改造过程中频繁的调用方式改动,我们在迁移过程中遵循一个重要的原则,迁移前后网络互通,这样迁移过程中调用方式不需要有任何变化,迁移过程中业务完全不需要感知。

  • 认清物理机和容器环境上的差异

云化架构下,虽然使用上和之前没有明显的差异,但毕竟是两个完全不同的环境。容器环境下虽然在宿主机下也配置了对应的字符设备,但并未为宿主机下的容器单独创建,因此云化迁移过程中,应该对容器和物理机环境上的一些差异有着清醒的认识。

  • 容器资源隔离

容器环境下,各种服务混部,当某个容器消耗的资源超过一定限度时,如果没有完善的资源隔离机制,就会导致同一宿主机上的其他服务异常。精细化的资源隔离技术是容器技术大规模推广的一个必要前提。

  • 故障容灾

服务上云毕竟是个全新的环境,可能会遇到各种类型的问题,特别是网络层面,从硬件网络过渡到软件定义网络(SDN),虽然灵活性比之前大大加强,但SDN网络在成熟度和稳定性上比之前的硬件网络还有不小的差异。需要提前想到有哪些可能的故障类型,针对每种故障设置相应的容灾预案。

  • 1
  • 收藏
  • 评论
  • 分享
  • 举报

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK