imi v1.0.13 发布,新增支持 Swoole 高性能协程服务器

栏目: 软件资讯 · 发布时间: 5年前

内容简介:imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。 在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。 imi 框架拥有...

imi v1.0.13 发布,新增支持 Swoole 高性能协程服务器

imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。

在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。

imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

毫秒级的注解及代码热更新,让你在开发时只管一把梭,体验与 fpm 下开发并无二致,保存就刷新,立马看到效果。

与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。

官方网站:https://www.imiphp.com/

imi 框架第一个版本 v0.0.1 首发于 2018 年 6 月 21 日

本周主要推出了一个进程池和高性能协程服务器,相比传统模式,即便是跟 BASE 模式相比,也有非常大的性能提升。

imi v1.0.13 版本新增了一个 Swoole\Coroutine\Http\Server 实现的协程服务器。需要 Swoole 4.4+ 才可使用该特性。

该特性是可选的,不影响以前使用的服务器模式。

使用协程服务器特性,依靠 Linux 系统的端口重用机制,系统级的负载均衡,可以让你的多进程 Http 服务处理请求的能力得到提升。

使用 ab,本机->虚拟机(双核+2进程)压测Hello World 页面,相比之前的服务器模式大概有 80% 的性能提升。该数据仅供参考,不同配置、环境、业务代码跑出来的数字会有差距,但很明显,协程服务器可以实现更高性能的 Http 服务。

优缺点比较

优点

  • ????高性能,Linux 系统级的负载均衡
  • ????高度可控,使用 imi 自研进程池维护 Worker 进程
  • ☕无缝支持,业务代码无需做任何更改,即可享受到高性能

缺点

  • 不支持 Task 特性
  • 不支持监听多端口、多协议

总结

使用该特性,可以享受到高性能带来的好处,但是无法使用 Task,以及多端口多协议监听。

对于开发 Http API 的场景来讲,是非常适合用这个特性的。

更新日志

新增

优化

  • 优化 http 路由性能,当路由数量多时效果明显

修复

  • 修复部分情况下的热更新进程残留问题

开始使用

创建 Http Server 项目:composer create-project imiphp/project-http

创建 WebSocket Server 项目:composer create-project imiphp/project-websocket

创建 TCP Server 项目:composer create-project imiphp/project-tcp

创建 UDP Server 项目:composer create-project imiphp/project-udp

完全开发手册:https://doc.imiphp.com/

imi 组件库:https://github.com/imiphp

imi 官方指定 Http 客户端(替代 Curl):https://github.com/yurunsoft/yurunhttp

欢迎各路新人和大佬的加入贡献代码的行列中,修正错别字、错误拼写、提交代码,我们全都欢迎~

最后,预祝无心工作,只想为祖国母亲庆生的大家,国庆快乐!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入理解LINUX内核(第三版)

深入理解LINUX内核(第三版)

(美)博韦,西斯特 / 陈莉君;张琼声;张宏伟 / 中国电力出版社 / 2007-10-01 / 98.00元

为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU 不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。 《深入理解Linux内核,第三版》指导你对内核......一起来看看 《深入理解LINUX内核(第三版)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码