mirror of
https://gitee.com/hyperf/hyperf.git
synced 2024-11-30 10:47:44 +08:00
1.8 KiB
1.8 KiB
Nacos
一个 Nacos
的 PHP
协程客户端,与 Hyperf
的配置中心、微服务治理完美结合。
安装
composer require hyperf/nacos
发布配置文件
php bin/hyperf.php vendor:publish hyperf/nacos
<?php
declare(strict_types=1);
return [
// 无法使用 IP 端口形式的开发者,直接配置 url 即可
// 'url' => '',
'host' => '127.0.0.1',
'port' => 8848,
'username' => null,
'password' => null,
'guzzle' => [
'config' => null,
],
];
服务与实例
当前组件仍然保留了之前提供的服务注册功能。
只需要安装 hyperf/service-governance-nacos
组件,然后配置以下监听器和自定义进程即可。
Hyperf\ServiceGovernanceNacos\Listener\MainWorkerStartListener
Hyperf\ServiceGovernanceNacos\Listener\OnShutdownListener
Hyperf\ServiceGovernanceNacos\Process\InstanceBeatProcess
然后增加如下配置,以监听 Shutdown
事件
- config/autoload/server.php
<?php
use Hyperf\Server\Event;
return [
// ...other
'callbacks' => [
// ...other
Event::ON_SHUTDOWN => [Hyperf\Framework\Bootstrap\ShutdownCallback::class, 'onShutdown']
]
];
阿里云服务鉴权
当使用阿里云的 Nacos 服务时,可能需要使用 AK 和 SK 鉴权,Nacos 组件对其进行了原生支持,我们可以方便的增加对应配置,如下:
<?php
declare(strict_types=1);
return [
// nacos server url like https://nacos.hyperf.io, Priority is higher than host:port
// 'uri' => 'http://127.0.0.1:8848/',
// The nacos host info
'host' => '127.0.0.1',
'port' => 8848,
// The nacos account info
'username' => null,
'password' => null,
'access_key' => 'xxxx',
'access_secret' => 'yyyy',
'guzzle' => [
'config' => null,
],
];