故障自愈了解一下

2024-04-13 15:58
文章标签 了解 故障 一下 自愈

本文主要是介绍故障自愈了解一下,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

序言

    一转身,一阵风,一个世界。。。。在你一转身的时候,是更加魅力,还是。。。


    我以为别人尊重我,是因为我很优秀,逐渐。。。慢慢的明白了,别人尊重我,是因为别人太过于优秀,太过于卓越


故障自愈

     越努力越孤单,好像这是一个宿命。。。


    追求卓越从而导致不合群,慢慢的孤独久了就习惯了。。。


    其实一个服务,一个进程,一个线程都是一样的,当一个服务能做到故障自愈,那么就会被人遗忘,一个自我能管理的服务是最好的,是最让人省心的。


    何为故障自愈:一个服务出现了问题,例如进程hang住,进程假死,那么监控程序发现服务出现问题,从而采取相应的措施,可能是重启进程,也可能是重新加载进程。。。那么问题来了,你如何判断这个服务除了问题,而定位到这个问题,这个则有变成了更加棘手的问题。


    一个服务出现问题,可能有千百种可能,而尽快恢复服务是最关键的,那么如何尽快的恢复服务,如果采取了这种故障自愈的机制会不会导致隐藏了一些问题的发现,从而导致一些BUG一直存在于系统中?


    用最简单的方式来演示故障自愈,以下是故障检测脚本:

640?wx_fmt=png

    以上是一段测试nginx的服务是否正常的脚本,主要就是通过发送http请求到nginx,如果nginx给与200响应码,那么就表示服务正常,如果不是。。。那么采取的动作就是重启nginx服务,记录的日志如下:

640?wx_fmt=png

    在上面的测试中,采用手动停止nginx进程来模拟测试,发现可以正常启动,从而达到服务可用的目的。


    在故障自愈中,主要有两个方面需要重点考虑:

    1、 如何判断服务出现了故障,在上面的例子中,主要是通过发送http请求来进行判断,可能会有误判么?如果此时nginx负载很重,来不及响应http的请求连接怎么办,请求连接超时怎么办?判断几次才算是服务不可用,3次?七次?判断的间隔时间是多久,3S?还是7S?

    2、 服务故障了,应该采取什么动作?重启服务?重启服务器?清除缓存?杀掉进程让supervisor服务自动拉起?


    其实,没有银弹。。。没有标准,例如判断请求的超时,多久才算超时,要根据你的业务量来计算,可能凌晨业务量很少,出现故障了,基本上是服务挂了;那么如果业务高峰,没来得及响应。。。那么整个中间不可用的时间是多少S?根据SLA来设定这个指标也是不错的。。。

鼓吹无运维

     鼓吹无运维来源于。。。devops,因为差不多所有的服务都可以做到故障自愈,所有的服务都无须运维干预,那么慢慢的就可以无运维了。


    在写程序的时候,你就考虑到了监控的指标项。。。。在程序上线的时候,你就考虑到了如何进行高可用。。。在程序上线的时候,就已经有了故障自愈,那么还要运维干啥。。。看日志?谁都会。。。。写程序的更加了解应用的架构。。。


    梦想是美好的,现实是骨干的,所以故障自愈也不是一步到位的。。。


    如果我发送的包你没有拒绝。。。但是也没有响应。。。我该采取什么动作???


    是否能做到故障自愈?是否在一转身的时间。。。变得更加完美


    self-healing。。。。so beautiful。。。。


这篇关于故障自愈了解一下的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/900577

相关文章

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

Nacos客户端本地缓存和故障转移方式

《Nacos客户端本地缓存和故障转移方式》Nacos客户端在从Server获得服务时,若出现故障,会通过ServiceInfoHolder和FailoverReactor进行故障转移,ServiceI... 目录1. ServiceInfoHolder本地缓存目录2. FailoverReactorinit

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

【详细介绍一下GEE】

GEE(Google Earth Engine)是一个强大的云计算平台,它允许用户处理和分析大规模的地球科学数据集,如卫星图像、气候模型输出等。以下是对GEE用法的详细介绍: 一、平台访问与账户设置 访问GEE平台: 用户可以通过访问Google Earth Engine的官方网站来开始使用GEE。 创建账户: 用户需要注册并登录Google账户,然后申请访问GEE平台。申请过程可能需要提

PHP: 深入了解一致性哈希

前言 随着memcache、redis以及其它一些内存K/V数据库的流行,一致性哈希也越来越被开发者所了解。因为这些内存K/V数据库大多不提供分布式支持(本文以redis为例),所以如果要提供多台redis server来提供服务的话,就需要解决如何将数据分散到redis server,并且在增减redis server时如何最大化的不令数据重新分布,这将是本文讨论的范畴。 取模算法 取模运

Weex入门教程之1,了解Weex

【资料合集】Weex Conf回顾集锦:讲义PDF+活动视频! PDF分享:链接:http://pan.baidu.com/s/1hr8RniG 密码:fa3j 官方教程:https://weex-project.io/cn/v-0.10/guide/index.html 用意 主要是介绍Weex,并未涉及开发方面,好让我们开始开发之前充分地了解Weex到底是个什么。 以下描述主要摘取于

Java了解相对较多!

我是对Java了解相对较多,而对C#则是因工作需要才去看了一下,C#跟Java在语法上非常相似,而最初让我比较困惑的就是委托、事件部分,相信大多数初学者也有类似的困惑。经过跟Java的对比学习,发现这其实跟Java的监听、事件是等同的,只是表述上不同罢了。   委托+事件是观察者模式的一个典型例子,所谓的委托其实就是观察者,它会关心某种事件,一旦这种事件被触发,这个观察者就会行动。   下