与Yii2结合使用

简介

Yii2集成微服务治理框架Tars

  • 支持服务打包

  • 支持Yii2原生开发

  • 支持TarsConfig

  • 支持TarsLog

  • 支持网关注册下线

  • 支持请求开始(tarsRequesting)、请求结束(tarsRequested)事件

  • 支持echo输出内容

  • 支持http和tars协议

  • 受限于框架本身的设计,不支持协程

相关项目

使用

  1. 创建项目

    创建Tars项目目录结构(scripts、src、tars),Yii2项目放在src目录下

  2. 安装Yii2 Tars包

    更新Composer依赖

    或添加 requirement 到 composer.json

    初始化Yii2 Tars

  3. 修改配置文件src/config/params.php文件tars字段下的proto字段,替换appName、serverName、objName

  4. 如果使用http协议,且需要自动注册到网关(目前仅支持Kong),修改配置文件src/config/params.php文件tars字段

  5. 配置中心(TarsConfig)或者日志服务(TarsLog),修改配置文件src/config/params.php文件tars字段

    服务启动时会自动拉取配置,如果需要记录日志,可以使用类似Yii::info('test log');

    如果需要指定TarsLog记录的最低日志级别,修改配置文件src/config/params.php文件tars字段

    如果需要指定TarsLog的记录频率,修改配置文件src/config/params.php文件tars字段

  6. 如果使用http协议,按框架原生方式编写代码,路由没有特殊要求

  7. 如果使用tars协议

    在tars目录下编写tars接口描述文件,修改配置文件src/config/params.php文件tars字段下的proto字段,新增tarsFiles

    在scripts目录执行编译脚本生成接口代码

    在src/tars/impl目录下创建接口实现类,编写业务逻辑代码

    修改src/config/params.php文件tars字段下的services字段,替换接口和接口实现命名空间

  8. 搭建Tars-PHP开发环境

    如果使用http协议,请参考TARS-PHP-HTTP服务端与客户端开发

    如果使用tars协议,请参考TARS-PHP-TCP服务端与客户端开发

  9. 在Tars-PHP开发环境下打包项目(在src目录下执行./yii tars/deploy)

  10. 在Tars管理后台发布项目,请参考TARS-PHP-TCP服务端与客户端开发),测试curl 'http://{ip}:{port}/{api_route}'

持续集成

Jenkins Pipeline 配置示例(根据实际情况修改)

Last updated