1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fitphp-consul

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Консул

Для лучшего использования PHP с Consul

Скачивание исходного кода

Прямое использование:

git clone https://gitee.com/fitphp/consul.git

Установка через composer

В файле composer.json вашего проекта добавьте следующее:

{
    "require": {
        "fitphp/consul": "dev-master"
    }
}
Установка composer require fitphp/consul

Работа с HTTP-интерфейсом Consul в сочетании с GuzzleHTTP

Запуск Consul

consul agent -server -ui -data-dir=/data/consul -config-dir=/data/consul/config -client=0.0.0.0 -bootstrap -advertise=127.0.0.1 -node=xxx -dc=sh-1 > /dev/null &

<?php
define('BASE_PATH', dirname(__DIR__));
include BASE_PATH . '/src/ServiceFactory.php';
if (file_exists(BASE_PATH . "/vendor/autoload.php")) {
    include BASE_PATH . "/vendor/autoload.php";
}

$data = array(
    'id' => 'service.id',//服务id
    'name' => 'service.name',//服务名
    'tags' => [1.0, master],//服务的tag,自定义,可以根据这个tag来区分同一个服务名的服务
    'address' => 'http://127.0.0.1',//服务注册到consul的IP,服务发现,发现的就是这个IP
    'port' => 8100,
    'enabletagoverride' => false,
    'check' => [
        'deregisterCriticalServiceAfter' => '90m',
         'interval' => '10s', //健康检查间隔时间,每隔10s,调用一次上面的URL
         'timeout'  => '1s',
         'http' => 'http://127.0.0.1:8100'
    ]       
);

// 服务名称
$serviceName = 'consul.service.name';

// Через catalog регистрация
$sf =  FitPHP\Consul\ServiceFactory::getInstance();
$catalog = $sf->useService('catalog');
// Регистрация сервиса
var_dump($catalog->registerService($data));

        
//Получение информации об адресе по имени сервиса
var_dump($catalog->service($serviceName));


//Получение информации о состоянии здоровья по имени сервиса
$health = $sf->useService('health');
var_dump($health->service($serviceName)); 


$kv = $sf->useService('kv');
$data = array('time' => time(), 'dns' => '127.0.0.1');
// Добавление
var_dump($kv->put('testKeyValue', $data));
// Запрос
var_dump($kv->get('testKeyValue'));

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/fitphp-consul.git
git@api.gitlife.ru:oschina-mirror/fitphp-consul.git
oschina-mirror
fitphp-consul
fitphp-consul
master