tars-utils

tars-utils

tars-utils 是 phptars的辅助类库,主要提供如下几个功能:

  • 配置文件解析并缓存(swoole table)
  • 主控地址解析
  • node上报配置解析

@parseFile($configPath)

配置文件解析,以QDPHP.TARSServer.config.conf 为例,将conf 文件解析成 数组形式

@getLocatorInfo($locatorString)

地址解析,示例:

  1. $locatorString = "tars.tarsregistry.QueryObj@tcp -h 127.0.0.1 -p 17890:tcp -h 127.0.0.1 -p 17890";
  2. $locatorInfo = \Tars\Utils::getLocatorInfo($locatorString);

得到结果如下:

  1. [
  2. 'locatorName' => 'tars.tarsregistry.QueryObj',
  3. 'routeInfo' => [
  4. [
  5. 'sHost' => '127.0.0.1',
  6. 'sProtocol' => 'tcp',
  7. 'iPort' => 17890,
  8. 'iTimeout' => '',
  9. 'bIp' => '',
  10. 'sIp' => ''
  11. ],
  12. [
  13. 'sHost' => '127.0.0.1',
  14. 'sProtocol' => 'tcp',
  15. 'iPort' => 17890,
  16. 'iTimeout' => '',
  17. 'bIp' => '',
  18. 'sIp' => ''
  19. ]
  20. ]
  21. ]

@parseNodeInfo($nodeInfo)

node上报配置解析,示例:

  1. $locatorString = "tars.tarsnode.ServerObj@tcp -h 127.0.0.1 -p 2345 -t 10000";
  2. $nodeInfo = \Tars\Utils::parseNodeInfo($locatorString);

得到结果如下:

  1. [
  2. 'objName' => 'tars.tarsnode.ServerObj',
  3. 'mode' => 'tcp',
  4. 'host' => '127.0.0.1',
  5. 'port' => 2345,
  6. 'timeout' => 1,
  7. 'sIp' => '',
  8. 'iPort' => 2345
  9. ]

Changelog

v0.3.0(2019-06-21)

  • 支持多个servant