注册中心

设置注册中心

修改config/service.php中的registry_address.目前只支持Zookeeper、Redis、Mysql注册中心

Zookeeper注册中心
  • Zookeeper扩展安装
    1. 'registry_address' => [
    2. 'scheme' => 'zookeeper',
    3. 'host' => '127.0.0.1',
    4. 'port' => 2181,
    5. //集群模式
    6. //'url' => '127.0.0.1:2181,127.0.0.1:2182'
    7. ],
Redis注册中心
  1. 'registry_address' => [
  2. 'scheme' => 'redis',
  3. 'host' => '127.0.0.1',
  4. 'port' => 6379,
  5. 'auth' => '',
  6. ],
Mysql注册中心
  1. //mysql注册中心,开启后,请执行doc/mysql-registry.sql中的sql,创建2张表
  2. 'registry_address' => [
  3. 'scheme' => 'mysql',
  4. 'host' => '127.0.0.1',
  5. 'port' => 3306,
  6. 'user' => 'root',
  7. 'password' => '123',
  8. 'dbname' => 'Demo'
  9. ],

设置依赖的服务

修改config/app.php的services.你需要将项目依赖的服务模块写入该数组,在server启动时,会单独起一个进程订阅每个服务

  1. //依赖的服务模块
  2. 'services' => ["User", "Order", "Monitor"],

启动服务

执行命令 app/service [需要执行的server名称]

  1. app/service user

服务使用

  • 启动某个服务 => app/service user
  • 热重启某个服务 => app/service user reload
  • 关闭某个服务 => app/service user stop
  • 重启某个服务 => app/service user restart
  • 启动全部服务 => app/service start
  • 热重启全部服务 => app/service reload
  • 关闭全部服务 => app/service stop
  • 重启全部服务 => app/service restart

监控服务

框架层提供了’Group\Process\HeartbeatProcess’,心跳检测类来监控服务健康。你可以在服务配置中加入此进程来启动监控。

例:

  1. 'monitor' => [
  2. //本机当前内网ip
  3. 'ip' => '127.0.0.1',
  4. 'serv' => '0.0.0.0',
  5. 'port' => 9517,
  6. 'config' => [
  7. //忽略
  8. ],
  9. 'public' => 'Monitor',
  10. 'process' => [
  11. //你可以使用框架封装的心跳检测进程
  12. 'Group\Process\HeartbeatProcess',
  13. ],
  14. ],