健康端点监控模式 Health Endpoint Monitoring Pattern

未匹配的标注

描述

外部程序定期访问应用程序,检查功能是否正常。这个模式可以帮助验证应用和服务是否被正确执行。

背景和问题

我们必须定期验证我们的web应用程序,服务,确保他们是可用的,并且执行正确的。

解决方案

通过将请求发送到应用程序的端点实施健康监测。该应用程序应该执行必要的检查,并返回其状态的指示。

liaoliaophp 健康端点监控模式

注意事项

  1. 如何验证响应。例如,仅仅是一个200(OK)状态码是否可以验证应用程序是否工作正常?
  2. 合理设计监控端的数量,服务,数据库,应用程序是否需要使用不同的监控端监控,还是使用同一个?
  3. 设计监控端与被监控端之间的交互报文和返回信息。
  4. 日志信息收集。
  5. 性能控制。
  6. 如何访问正在使用认证固定的端点。
  7. 确保监控系统自身检查和测试。

何时使用

监控网站和 Web 应用程序,验证可用性,检查是否工作正常。

结构中包含的角色

  1. Monitor 监控器
  2. Application 应用程序
  3. Crontab 定时任务

最小可表达代码

// 监控器
class Monitor
{
    private $app;

    public function __construct()
    {
        $this->app = new Application();
    }

    public function request()
    {
        if ($this->app->checkHealth()) {
            var_dump('应用程序正常');
        }
        else {
            var_dump('应用程序挂了');
        }
    }
}

// 应用程序
class Application
{
    public function checkHealth()
    {
        return rand(0, 1);
    }
}

// 定时任务
class Crontab
{
    public function handle()
    {
        $monitor = (new Monitor());
        for ($i = 0; $i < 10; $i++) {
            sleep(1);

            $monitor->request();
        }
    }
}

(new Crontab)->handle();

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
发起讨论 只看当前版本


暂无话题~