PHPackages                             overlu/laravel-reget - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. overlu/laravel-reget

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

overlu/laravel-reget
====================

laravel server register in nacos or other

v1.0.4(5y ago)89435MITPHPPHP ^7.2

Since Apr 17Pushed 5y ago2 watchersCompare

[ Source](https://github.com/overlu/laravel-reget)[ Packagist](https://packagist.org/packages/overlu/laravel-reget)[ RSS](/packages/overlu-laravel-reget/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (18)Used By (0)

### 前言

[](#前言)

#### 项目介绍

[](#项目介绍)

`overlu/laravel-reget` 是一款基于laravel的nacos扩展

#### 安装

[](#安装)

1. 引入扩展库

```
php composer.phar require overlu/laravel-reget

```

2. 配置

```
# publish config
php artisan vendor:publish --provider="Overlu\Reget\RegetServiceProvider"
```

3. 注册服务提供者（laravel5.5之前需要操作）

```
# 打开 config/app.php，注册如下服务提供者到 $providers 数组
Overlu\Reget\RegetServiceProvider::class
```

4. 注册Facade

```
# 然后添加如下门面到 $aliaes 数组
'Reget' => \Overlu\Reget\Facades\Reget::class
```

#### 配置

[](#配置)

修改配置文件`reget.php`，根据参数说明修改相关参数，或者\_\_`在.env文件中加入相关参数配置(建议)`\_\_

```
[
'driver' => 'nacos',
  'nacos' => [
    'register_host' => env('NACOS_REGISTER_HOST', 'http://127.0.0.1:8848'),
    'ip' => env('NACOS_SERVICE_HOST', ''),   // 服务实例IP
    'port' => env('NACOS_SERVICE_PORT', ''), // 服务实例port
    'namespaceId' => env('NACOS_SERVICE_NAMESPACE_ID', ''), // 命名空间ID
    'weight' => env('NACOS_SERVICE_WEIGHT', '0.8'),  // 权重
    'enabled' => env('NACOS_SERVICE_ENABLE', 'true'),  // 是否上线
    'healthy' => env('NACOS_SERVICE_HEALTHY', 'true'),  // 是否健康
    'metadata' => env('NACOS_SERVICE_METADATA', '{}'),  // 扩展信息 json
    'clusterName' => env('NACOS_SERVICE_CLUSTER_NAME', 'DEFAULT'),  // 集群名
    'serviceName' => env('NACOS_SERVICE_NAME', 'server_name'), // 服务名
    'groupName' => env('NACOS_SERVICE_GROUP_NAME', 'DEFAULT_GROUP'),  // 分组名
    'ephemeral' => env('NACOS_SERVICE_EPHEMERAL', 'true'), // 是否临时实例
    'scheduled' => env('NACOS_SERVICE_SCHEDULED', 'true')
  ]
];
```

#### Usage

[](#usage)

##### 常用命令

[](#常用命令)

- 注册服务

```
php artisan reget:register  // 根据配置文件注册
```

[![J5YOe0.png](https://camo.githubusercontent.com/cb7fbbaff802aa99bcc153ca8ad09160403aee399326936703775c505e263095/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35594f65302e706e67)](https://camo.githubusercontent.com/cb7fbbaff802aa99bcc153ca8ad09160403aee399326936703775c505e263095/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35594f65302e706e67)

```
php artisan reget:register --init  // 初始化配置并注册
```

[![J5tYtS.png](https://camo.githubusercontent.com/c9468757fbec98e7320a7702919f6fb37b6c7fcfd1bb3a914fc0af2fdb9da4a1/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35745974532e706e67)](https://camo.githubusercontent.com/c9468757fbec98e7320a7702919f6fb37b6c7fcfd1bb3a914fc0af2fdb9da4a1/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35745974532e706e67)

- 发送心跳

```
php artisan reget:heartbeat   // 发送一次
```

[![J5NGuR.png](https://camo.githubusercontent.com/d3437bf502358103016f48a7f9a9e1122616296356b5fb008913e30ce98b092b/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a354e4775522e706e67)](https://camo.githubusercontent.com/d3437bf502358103016f48a7f9a9e1122616296356b5fb008913e30ce98b092b/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a354e4775522e706e67)

```
php artisan reget:heartbeat --cron  // 定时发送
```

[![J5NR58.png](https://camo.githubusercontent.com/21c3d75837733b69a6731a13c9c0ef4e5234c03dec90b46199e0031f8e641afd/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a354e5235382e706e67)](https://camo.githubusercontent.com/21c3d75837733b69a6731a13c9c0ef4e5234c03dec90b46199e0031f8e641afd/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a354e5235382e706e67)

- 查看服务列表

```
php artisan reget:list
```

[![J5UmMd.png](https://camo.githubusercontent.com/10e98710b9406441dc37ac44b8b70f9f9b57df49dabaedcde714ae7160c17569/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35556d4d642e706e67)](https://camo.githubusercontent.com/10e98710b9406441dc37ac44b8b70f9f9b57df49dabaedcde714ae7160c17569/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35556d4d642e706e67)

- 查看当前实例详情

```
php artisan reget:instance
```

[![J5UjTP.png](https://camo.githubusercontent.com/e78bf1d32e21d97844031401f6b5feb224c25920b3079f97793e0407f94270d8/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35556a54502e706e67)](https://camo.githubusercontent.com/e78bf1d32e21d97844031401f6b5feb224c25920b3079f97793e0407f94270d8/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35556a54502e706e67)

- 移除当前实例

```
php artisan reget:remove
```

[![J5awXd.png](https://camo.githubusercontent.com/8a981c9bbff9c2e56b07f43d6504952dd85fd6aa1817635e611aae131b3568ef/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35617758642e706e67)](https://camo.githubusercontent.com/8a981c9bbff9c2e56b07f43d6504952dd85fd6aa1817635e611aae131b3568ef/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35617758642e706e67)

- 监听配置

```
php artisan reget:listen key
# 加入观察者
php artisan reget:listen key --handle="Namespace\ClassName"
```

[![J58PVU.png](https://camo.githubusercontent.com/b5cf7a98ae85b3bffe41b4a5bdf1a2993dcffbccf15aae1e286d36df0589ffcd/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35385056552e706e67)](https://camo.githubusercontent.com/b5cf7a98ae85b3bffe41b4a5bdf1a2993dcffbccf15aae1e286d36df0589ffcd/68747470733a2f2f73312e617831782e636f6d2f323032302f30342f32382f4a35385056552e706e67)

##### 定时发送心跳（不建议）

[](#定时发送心跳不建议)

```
# 1. 下面的 Cron 添加到你的服务器中
* * * * * cd /path-to-your-project && php artisan schedule:run >>/dev/null 2>&1
```

```
# 2. 在 App\Console\Kernel 类的 schedule 方法中定义所有的调度任务
protected function schedule(Schedule $schedule)
{
    $schedule->command('reget:heartbeat')->everyMinute();
}
```

##### 定时发送心跳

[](#定时发送心跳)

```
php artisan reget:heartbeat --cron # 联调测试用
# or
php artisan reget:heartbeat --cron>>/dev/null 2>&1 &
```

#### API

[](#api)

##### 获取服务

[](#获取服务)

```
$service = \Overlu\Reget\Reget::getInstance()->service('service_name');
# or
$service = Reget::service('service_name');
return $service;
```

##### 获取服务列表

[](#获取服务列表)

```
$services_list = \Overlu\Reget\Reget::getInstance()->services();
# or
$services_list = Reget::services();
```

##### 获取配置

[](#获取配置)

```
$config = \Overlu\Reget\Reget::getInstance()->config('key');  // 走缓存处理
$config = \Overlu\Reget\Reget::getInstance()->config('key', false); // 直接获取远程配置数据
# or
$config = Reget::config('key'); // 走缓存处理
$config = Reget::config('key', false); // 直接获取远程配置数据
```

##### 发布配置

[](#发布配置)

```
$response = \Overlu\Reget\Reget::getInstance()->publish('key', 'string value');
# or
$response = Reget::publish('key', 'string value'); // return true
```

##### 删除配置

[](#删除配置)

```
$response = \Overlu\Reget\Reget::getInstance()->remove('key'); # return true
# or
$response = Reget::remove('key');
```

##### 监听配置

[](#监听配置)

```
Reget::listen('key'); # 可以curl请求路由
```

or

```
php artisan reget:listen key
```

or 加入观察者

```
php artisan reget:listen key --handle="Namespace\ClassName"
