Skip to the content.

tars-server说明文档

简介

tars-server是用php语言实现tars服务的基础框架包。主要包含服务启停、路由解析、协议处理、事件上报等。

如何使用

tars-server使用composer进行包管理,开发者只需要根据相应的版本,进行composer install即可。

具体的使用方式,请参考对应examples下面的http-server、timer-server和tcp-server。

框架说明

TARS-SERVER是以SWOOLE为底层的网络收发实现的,框架主要包含如下的目录:

cmd层

针对cmd层,现在包含如下几个文件:

  1. Command.php 负责在服务启动的时候,指定配置文件和启动命令
  2. CommandBase.php 规定了一个Command所必须的实现,所有的诸如START,都是CommandBase的子类。其中提供了getProcess方法,来获取当前启动的服务进程。
  3. Restart.php 重启命令,只是调用停止后,再调用启动
  4. Start.php 启动命令,会首先解析平台下发的配置,然后引入业务所必须的services.php文件。
    接下来监测进程是否已经启动,从而避免重复启动;
    最后将配置和预先定义的SwooleTable传入Server,进行服务的初始化和启动过程。
  5. Stop.php
    现在的服务停止方式比较暴力,会根据服务的名称拉出所有的进程,然后kill掉。后续会引入reload的方式进行服务的代码重新加载。

core核心层

核心层主要由EventServerRequestResponse组成。

Server.php

负责服务的启动前的初始化工作,包括:

在完成服务的启动之后,会依次进入

Event.php

onReceive方法:

onRequest方法:

Request.php

Response.php

负责回包的一些工作

服务启动流程

整个服务启动由cmd下的Start发起,
之后调用Server对象的创建,
然后依次进行swoole的初始化工作,
完成启动服务之后,只需要处理onReceive或者onRequest的监听即可

框架依赖