• pixysoft.framework.healthchecks 开发实录



    目的 

    由于客户端系统会发生一些预料之外的问题,因此必须有一个自检系统。

    这些问题包括了:1. 硬件问题(网络、磁盘) ;2. 配置问题; 3. 程序的bug; 4. 人员操作错误

    用例环境

    1. 系统安装的自检

    一般嵌入到了安装程序。仅仅检查磁盘空间、网络环境等。

    2. 系统启动的自检

    额外的程序模拟系统启动进行检查,不是系统启动之后去检查。

    3. 系统运行过程中检查

    运行时,系统内部调用healthcheck,收集运行时的日志,然后归类打包。

    4. 系统宕机检查

    系统宕机后,立刻调用应急模块,自动进行检查,必须使用图形界面,即发送宕机报告,也告诉客户可能的情况和处理方式。 

    自检的目的 

    保证当前系统能够完成所有预期的功能。

    自检项目

    1. 网络链接

    2. 数据库链接

    3. 依赖配置项目检查

    4. 本机磁盘检查

    5. 日志检查

    6. 加载程序检查 !!!!难点,如果做扩展,是否使用插件、还是IoC反射加载检查项目?

    7. 自定义检查 !!!同上


    设计思路

    自检系统,使用树形结构,描绘自检项目之间的依赖。当父类自检失败,则子类不继续。


    SETUP

    启动检查 

    STARTUP

    包括启动能够运行的基本要求、例如网络链接、数据库、配置、磁盘;目的是系统能够顺利启动,并运行所有功能的前提要求项目。

    RUNTIME

    运行时检查,包括日志、自定义。目的是查看系统是否按照预期的功能运行。

    DOWNTIME

    系统宕机检查,包含启动检查、运行时检查。

    包括2个运行库。

    1. 核心模块,不依赖任何dll(除了.net)。主要尝试运行自检的基本模块。如果运行失败,则同时用户系统彻底崩溃。必须立刻通知管理员。

    这个模块设计可能要添加其他dll的代码,保证不依赖其他模块,同时又能完成制定的要求,包括检查磁盘、文件依赖、dll依赖、网络检查。 

    2. 基本模块,依赖基本框架dll。进行全方位的检查。同时发送详细的报表到开发部。

      

    开发时间:20100205

    结束时间:20100208 

  • 相关阅读:
    Flink 多流转换算子
    Flink 基本算子map、keyBy、sum、reduce
    Scala 调用方法时加不加小括号
    Hive rank函数开窗
    Hive 窗口函数
    Scala 集合Map的基本操作
    LOJ#2402. 「THUPC 2017」天天爱射击 / Shooting 整体二分+树状数组
    LOJ#106. 二逼平衡树 树套树
    LOJ#2340. 「WC2018」州区划分
    LOJ#2304. 「NOI2017」泳池(70pts) dp
  • 原文地址:https://www.cnblogs.com/zc22/p/1664554.html
Copyright © 2020-2023  润新知