配置与启动

RPC 服务不仅仅可以单独启动,也可以HTTP Server 启动的时候,监听端口,启动RPC服务。无论哪种方式启动,都需要配置RPC服务基础信息。

服务配置

.env文件中,配置RPC服务的基础信息。

  1. TCPABLE=true
  2. TCP_HOST=0.0.0.0
  3. TCP_PORT=8099
  4. TCP_MODEL=SWOOLE_PROCESS
  5. TCP_TYPE=SWOOLE_SOCK_TCP
  6. TCP_PACKAGE_MAX_LENGTH=2048
  7. TCP_OPEN_EOF_CHECK=false

中间件配置

config/beans/base.php 配置RPC服务在执行过程中的中间件。

  1. return [
  2. // ......
  3. 'serviceDispatcher' => [
  4. 'class' => ServiceDispatcher::class,
  5. 'middlewares' => [
  6. 'xxx:class',
  7. ]
  8. ]
  9. // ......
  10. ];

服务启动

此服务启动指的是单独的RPC服务启动,因为HTTP Server启动伴随着RPC服务启动方式,是不需要手动启动。

  1. [root@0dd3950e175b swoft]# php bin/swoft rpc:start
  2. Information Panel
  3. **********************************************************
  4. * tcp | Host: 0.0.0.0, port: 8099, Model: 3, type: 1
  5. **********************************************************
  • php bin/swoft rpc:start , 启动服务,根据 .env 配置决定是否是守护进程
  • php bin/swoft rpc:start -d , 守护进程启动,覆盖 .env 守护进程(DAEMONIZE)的配置
  • php bin/swoft rpc:restart , 重启
  • php bin/swoft rpc:reload , 重新加载
  • php bin/swoft rpc:stop , 关闭服务