创建tcp服务

文档参考 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' => 'Server\servant',
);

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进行调试

调试成功

posted @ 2020-08-22 22:25  lizcao  阅读(388)  评论(0编辑  收藏  举报