totoro/apollo-config

1.3.0 2018-08-23 05:38 UTC

This package is auto-updated.

Last update: 2024-09-26 17:18:22 UTC


README

  • 方便程序快速获取配置参数
  • 支持redisSHMfile 存储方式
  • SHM 只支持linux下使用
  • Laravel 5.5+

Install

composer require totoro/apollo-config

In Laravel

  • config/app.php
'providers' => [
    ...
    ...
    Totoro\Apollo\ApolloServiceProvider::class,
]

In Lumen

  • bootstrap/app.php
$app->configure('apollo');
$app->register(Totoro\Apollo\ApolloServiceProvider::class);

Usage

//值是否存在
app('apollo')->has($key)

//获取某个值
app('apollo')->get($key)

//获取所有值
app('apollo')->all()

重要说明

APOLLO_DRIVERfile 时只要很简单的配置就行

Configuration

  • 执行 php artisan apollo:publish-config 将配置文件发布到 (config/apollo.php)

APOLLO_DRIVER设置为 redis 或者 shm

  • 配置文件根据部署的参数设置好
  • 执行 php artisan apollo:publish-consul 将注册中心的服务地址发布到存储库中
  • 执行 php artisan apollo:publish-component 将配置中心参数发布到存储库中
  • 可以执行 php artisan apollo:clear-apollo 清空当前存储库

Cron

app/Console/Kerner.php中加上定时任务调用

protected $commands = [
    ...
    ...
    PublishConsulCommand::class,
    PublishComponentCommand::class
];
    
protected function schedule(Schedule $schedule)
{
    ...
    ...
    
    //更新注册中心服务地址
    $schedule->command(PublishConsulCommand::class)->everyMinute();
    //更新配置中心单当前服务参数
    $schedule->command(PublishComponentCommand::class)->everyMinute();
 }
  • 启动调度器
* * * * * php /your-project-path/laravel/artisan schedule:run >> /dev/null 2>&1 

APOLLO_DRIVER设置为 file

  • .env 中设置配置文件的路径,默认 /etc/xultra/php_conf,当然也可以只直接在config/apollo.php中设置
APOLLO_DRIVER=file
APOLLO_CONF=/etc/xultra/php_conf
  • 在配置文件 /etc/xultra/php_conf 中设置参数
xu-billing=http://127.0.0.1:1000
xu-audit=http://127.0.0.1000