Swoft 2.0.6 正式版本发布

2019-9-25 14:05

什么是 Swoft ?

Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。

Swoft 通过长达三年的积累和方向的探索,把 Swoft 打造成 PHP 界的 Spring Cloud, 它是 PHP 高性能框架和微服务治理的最佳选择。

Swoft v2.0.6

swoft 2.0 经过几个版本的打磨和优化,已在大量的生产环境中使用,得到很多用户的肯定和支持。正式版本我们做了许多改进和优化,拥有了更好的性能。

新增和改进了两个开发工具,方便开发者使用:

  • swoft/swoole-tracker?可以帮开发者解决链路追踪、内存泄漏、阻塞检查意以及性能分析
  • swoft-cli?现在支持基本的应用骨架和组件结构创建,以及类文件生成功能

调试利器 (swoft-swoole-tracker)

Swoft 调试利器可以帮开发者解决链路追踪、内存泄漏、阻塞检查意以及性能分析。

安装组件:

composer require swoft/swoole-tracker

配置中间件:

return [
   // ...
   'httpDispatcher'    => [
       // Add global http middleware
       'middlewares' => [
            // ...
            SwoftSwooleTrackerMiddlewareSwooleTrackerMiddleware::class,
       ],
   ],
   // ...
];

链路追踪

服务监控

服务状态

内存泄漏

阻塞检测

开发工具 (swoft-cli)

swoft-cli?新增场景功能类生成(控制器、中间件、任务等),创建项目骨架、组件初始化脚手架工具。

安装:

wget https://github.com/swoft-cloud/swoft-cli/releases/download/{VERSION}/swoftcli.phar

功能类生成

php swoftcli.phar gen:http-ctrl user --prefix /users

创建新项目

现在可以通过swoft-cli来快速创建一个新项目。默认提供 5 套bet356的网址_bet356官网娱乐平台_博彩bet356进不去仓库,方便用户初始化不同项目骨架。

php swoftcli.phar create:application --help

创建新组件

也可以通过swoft-cli来创建新的组件,并帮助你快速完成初始化配置:

php swoftcli.phar create:component --help

?

更新内容

修复(Fixed)

  • 修复 ws server收到消息时,默认使用当前fd作为响应消息的客户端?3a8890cf
  • 修复 ws server通过swoole server拿到的全部连接里,fd的类型可能不是整型导致报错。0fa79d7
  • 修复 stdlib SystemHelper 在 windows 10 中会被 Defender 删除?71c2893
  • 修复?increment/decrement?多拿了一个连接?94c7171
  • 修复 模型属性?$modelTimestamps?关闭了无效?94c7171
  • 修复 在初始化前调用了log,导致可能会在启动阶段报context丢失错误?5a27704f
  • 修复 ws server的握手和open使用同一个顶级协程ID,如果有一个先执行完成,可能会导致后面的出现session丢失?c2cd17a
  • 修复?after?定时器传递参数 bug?8ed609a
  • 修复定时任务内存泄漏和日志打印数据丢失问题?aa6bc32
  • 优化 Http server?sgo?处理流程?e60d92e
  • 修复数据库在事物情况下重连导致数据不一致问题?c2e87f2
  • 修复 Aop 极端情况返回?0?问题?85bc1b1
  • 修复?BeanFactory::createBean()?方法创建问题?c2e2c89
  • 修复 RPC 错误数据是字符串问题?3a34658
  • 修复?redisCluster?初始化问题?3a60c06
  • 修复?DbException?没有抛出?Database?的异常?Code?3a60c06
  • 修复?ModelAttribute?的?getter?和?setter?驼峰判断错误?2e2f0f1
  • 修复?Aggregate?聚合, 返回字符串强行转换?int错误?7aa98a6
  • 修复模型?updateCounters?方法更新之后没有同步实体数据?967d6f8

更新(Update):

  • 调整 ws server在worker 退出时自动关闭连接,添加开关配置,可以选择是否开启。3a8890c
  • ws server 新增事件:?MESSAGE_PUSH?OPEN_BEFORE?MESSAGE_RECEIVE?e1b0583

增强(Enhancement)

  • 新增日志按时间切割?f649df2
  • 新增日志支持传递额外参数?55d5533
  • 调整和新增了一些ws server相关事件,方便用户使用?e1b0583
  • 模型对?Prop?支持?630aad8
  • 新增连接连接池(mysql/redis/rpc)启动初始化连接功能?a367173
  • tcp server 使用长度分包时,支持自定义头部数据打包、解包格式?a6fbe932
  • RPC 调用错误信息调整?d9226b1
  • 新增操作?Database?异常, 打印控制台 错误?SQL?3a60c06
  • 新增操作数据迁移?int?系列 长度支持?967d6f8
  • 新增获取原始 sql 方法?getRawSql?967d6f8
  • 扩展?updateOrInsert和?updateOrCreate?支持自增参数?967d6f8

扩展(Extra):

  • Swoftcli?已经支持基本的应用骨架和组件结构创建,以及类文件生成功能
  • SwoftTracker?支持方便开发者调试

周一至周日9:00-18:00

反馈建议

service#bjjem.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! ? 2001-2019