文档参考 https://tarscloud.github.io/TarsDocs/hello-world/tarsphp.html#chapter-3
Tars-server服务
tars-server 提供了底层的 server 框架,同时支持如下特性
- 基于 swoole1.x/2.x 的高性能服务
- 支持 tup 协议和 tars 流两种协议模式
- 支持 http、tcp、timer 三种 server
- 上报、监控、日志的集成
- tars 平台发布支持
创建TCP服务helloWorld
安装节点
docker run -d
--name=tars_node_tcp
--net=tars
-e INET=eth0
-e WEB_HOST="http://172.25.0.3:3000"
--ip="172.25.0.6"
-v /Users/clz/Tars/tars_node_tcp:/data/app
-e TZ=Asia/Shanghai
-p 9021-9031:9000-9010
tarscloud/tars-node:php
创建服务
与创建http服务不同,这里选择tars协议
部署helloWorld服务的代码
官方提供的demo https://github.com/TarsPHP/TarsPHP/tree/master/examples/tars-tcp-server
修改参数
tars目录下创建 tarsclient.proto.php 内容如下
return array(
'appName' => 'HelloWorld',
'serverName' => 'TCPServer',
'objName' => 'obj',
'withServant' => true, //决定是服务端,还是客户端的自动生成
'tarsFiles' => array(
'./example.tars',
),
'dstPath' => '../src/servant',
'namespacePrefix' => 'Serverservant',
);
tars.proto.php 内容修改如下
return array(
'appName' => 'HelloWorld',
'serverName' => 'TCPServer',
'objName' => 'obj'
);
对src里面的文件名称、命名空间、obj也做对应的修改
进入到src 执行composer install
生成客户端
cd scripts && ./tars2php.sh
会生成src/servant目录
tars-client 中提供了对 tars 服务进行调用的 php 能力,包括:
- 调用远程服务的实例;
- 主调上报
- 自动寻址模块
进入src目录打包部署 composer run-script deploy
部署代码
接口调试
在接口调试里上传TCPServer.tars进行调试
调试成功