tars-registry

主控寻址的模块

1、模块说明

  1. tars平台的tarsregistry服务提供服务发现的功能。
  2. 本模块为php提供主控寻址的能力(服务发现)。

2、文件说明:

  1. ├── composer.json
  2. ├── src
  3. ├── client //请求主控服务的client代码
  4. ├── Code.php
  5. ├── CodeRegistry.php
  6. ├── CommunicatorConfig.php
  7. ├── CommunicatorFactory.php
  8. ├── Communicator.php
  9. ├── CommunicatorRegistry.php
  10. ├── Consts.php
  11. ├── RequestPacket.php
  12. ├── RequestPacketRegistry.php
  13. ├── ResponsePacket.php
  14. ├── ResponsePacketRegistry.php
  15. ├── TUPAPIWrapper.php
  16. └── TUPAPIWrapperRegistry.php
  17. ├── EndpointF.php //struct EndpointF 的php类
  18. ├── QueryFServant.php //直接请求主控服务
  19. ├── QueryFWrapper.php //优先从内存寻找服务地址,其次从主控寻址
  20. ├── RouteTable.php //在swoole table里保存服务地址
  21. └── tars //协议文件
  22. ├── EndpointF.tars
  23. └── QueryF.tars
  24. └── tests
  25. └── demo.php

3、使用示例:

  1. //从tarsregistry服务寻找服务地址
  2. $wrapper = new \Tars\registry\QueryFWrapper("tars.tarsregistry.QueryObj@tcp -h 172.16.0.161 -p 17890",1,60000);
  3. $result = $wrapper->findObjectById("PHPTest.PHPServer.obj");
  4. var_dump($result);
  5. //优先从内存寻找服务地址,其次从主控寻址
  6. \Tars\registry\RouteTable::getInstance();
  7. $result = \Tars\registry\RouteTable::getRouteInfo("PHPTest.PHPServer.obj");
  8. echo "result:\n";
  9. var_dump($result);

4. Changelog

v0.1.7 (2019-03-20)

  • 主控寻址缓存接口化,方便自定义缓存方式,默认使用swoole table