68publishers/健康检查微服务

健康检查微服务。

v0.1.2 2021-08-17 23:13 UTC

This package is auto-updated.

Last update: 2024-09-18 05:48:46 UTC


README

Total Downloads Latest Version on Packagist

💗这是一个非常简单的基于我们包 68publishers/health-checkNette 应用程序

该应用程序可以作为独立微服务使用,也可以直接从主应用程序中使用。

独立使用

首先简单下载该包

$ git clone https://github.com/68publishers/health-check-microservice.git
$ cd health-check-microservice

使用内置 docker-compose 进行安装

使用以下脚本安装应用程序

$ ./installer

安装成功后,您可以编辑文件 .env 中的 ENV 变量

然后打开文件 config/health_check_service_checkers.neon 并根据自身需求修改服务检查器的定义。

现在在浏览器中打开此 URL http://localhost:8888 分别 http://localhost:8888/{HEALTH_CHECK_URL_PATH}

无 Docker 安装

要求

  • Web服务器(Apache/Nginx)
  • PHP 7.4
  • Composer
$ composer install
$ cp .env.dist .env
$ cp config/health_check_service_checkers.neon.dist config/health_check_service_checkers.neon

打开文件 config/health_check_service_checkers.neon 并根据您的需求修改服务检查器的定义。当然,您可以直接在定义中传递参数。对于服务检查器使用 ENV 变量不是必需的。

还可以打开文件 .env,在此处您可以编辑 ENV 变量。对于如 postgresredis 等服务,如果未使用,可以删除。

在其他应用程序中使用

在您的应用程序中运行以下命令

$ composer require 68publishers/health-check-microservice

创建包含服务检查器定义的 NEON 文件,就像在独立使用中一样,并声明 ENV 变量

HEALTH_CHECK_URL_PATH=/health
HEALTH_CHECK_ARRAY_EXPORT_MODE=full
HEALTH_CHECK_TEMP_DIR={{PATH TO TEMP DIR IN THE MAIN APPLICATION}}
HEALTH_CHECK_LOG_DIR={{PATH TO LOG DIR IN THE MAIN APPLICATION}}
HEALTH_CHECK_SERVICE_CHECKERS_CONFIG={{PATH TO CONFIG FILE IN THE MAIN APPLICATION}}

然后修改应用程序中的 index.php 文件

<?php

declare(strict_types=1);

use App\Bootstrap as AppBootstrap;
use SixtyEightPublishers\HealthCheckMicroservice\Bootstrap as HealthCheckBootstrap;
use Nette\Application\Application;

require __DIR__ . '/../vendor/autoload.php';

$configurator =  '/health' === $_SERVER['REQUEST_URI'] ? HealthCheckBootstrap::boot() : AppBootstrap::boot();

$configurator->createContainer()
	->getByType(Application::class)
	->run();

就是这样,健康检查端点将在地址 domain.com/health 上可用 :)

ENV 变量

贡献

在提交任何更改之前,请务必运行

$ composer run php-cs-fixer

$ composer run tests