hyperf/docs/zh-hk/nacos.md
2023-02-18 06:40:54 +08:00

88 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Nacos
一個 `Nacos``PHP` 協程客户端,與 `Hyperf` 的配置中心、微服務治理完美結合。
## 安裝
```shell
composer require hyperf/nacos
```
### 發佈配置文件
```shell
php bin/hyperf.php vendor:publish hyperf/nacos
```
```php
<?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
<?php
use Hyperf\Server\Event;
return [
// ...other
'callbacks' => [
// ...other
Event::ON_SHUTDOWN => [Hyperf\Framework\Bootstrap\ShutdownCallback::class, 'onShutdown']
]
];
```
## 阿里雲服務鑑權
當使用阿里雲的 Nacos 服務時,可能需要使用 AK 和 SK 鑑權Nacos 組件對其進行了原生支持,我們可以方便的增加對應配置,如下:
```php
<?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,
],
];
```