您现在的位置是:首页 > 文章详情

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

日期:2019-09-27点击:496

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

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

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

原文链接:https://www.oschina.net/news/110185/imi-1-0-13-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章