代码拉取完成,页面将自动刷新
直接使用:
git clone https://gitee.com/fitphp/consul.git
在你的 composer 项目中的 composer.json 文件中,添加这部分:
{
"require": {
"fitphp/consul": "dev-master"
}
}
安装 composer require fitphp/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'));
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型