imi v1.0.13 发布,新增支持 Swoole 高性能协程服务器
imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 服务的开发。
在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。
imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
毫秒级的注解及代码热更新,让你在开发时只管一把梭,体验与 fpm 下开发并无二致,保存就刷新,立马看到效果。
与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。
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 的场景来讲,是非常适合用这个特性的。
更新日志
新增
-
新增支持高性能 Swoole 协程服务器,性能更加强悍,需要 Swoole 4.4+
-
新增一个可以替代 Swoole\Process\Pool 的更强大的进程池。支持信号监听、重启进程(可指定)、Pool Master 与 Worker 消息通讯等。
-
支持在项目中配置 imi 启用哪些功能模块
优化
- 优化 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
欢迎各路新人和大佬的加入贡献代码的行列中,修正错别字、错误拼写、提交代码,我们全都欢迎~
最后,预祝无心工作,只想为祖国母亲庆生的大家,国庆快乐!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Proxy-Go 控制面板 v1.5 发布,新增日志,客户端连接参数
Proxy-Go 控制面板 ProxyAdmin是强大的代理服务工具snail007/goproxy的控制面板,运行了它,一秒让你的服务器变为强大的代理服务器,友好的交互界面,小白也能轻松上手,让你用起来得心应手,心情舒畅。 更新内容: 1.每个服务详情页面,都尽可能显示客户端参数。 2.美化了logo,旁边增加了版本号显示,更方便直观。 3.增加了日志查看,如果在服务配置里面打开了日志,那么正在运行的服务可以查看其实时日志方便排查问题。 4.http/socks/ss代理增加了dns设置选项。留空使用:8.8.8.8:53 5.增加了调试功能,如果出现性能问题,可以一键开启调试模式,生成调试文件,发给作者分析解决问题。 6.增加了文件管理功能,用于自定义服务里面可以通过占位符引用文件。 7.正式更名为ProxyAdmin,服务名proxyadmin,配置文件夹更名为gpa。 更新提示: 因为功能的增加,数据库结构发生变化,此次更新不兼容旧版,需要先卸载旧版本,再安装新版本。 新功能预览 展现客户端参数 实时日志 参数文件管理 调试模式
- 下一篇
YurunOAuthLogin v2.0.4 发布,新增支持 QQ 小程序授权
YurunOAuthLogin是一个 PHP 第三方登录授权 SDK,集成了多达9个平台,包括QQ、微信、微博、Github等常用接口。可以轻松嵌入支持 PHP >= 5.4 的任何系统中,2.0 版现已支持 Swoole 协程环境。 我们有完善的在线技术文档:http://doc.yurunsoft.com/YurunOAuthLogin API 文档:https://apidoc.gitee.com/yurunsoft/YurunOAuthLogin 大家在开发中肯定会对接各种各样的第三方平台,我个人精力有限,欢迎各位来提交 PR (码云/Github),一起完善它,让它能够支持更多的平台,更加好用。 v2.0.4 更新日志 新增支持 QQ 小程序授权(code换sessionKey、解密) 新增支持微信小程序授权的数据解密(之前仅支持code换sessionKey) 安装 在您的composer.json中加入配置: { "require": { "yurunsoft/yurun-oauth-login": "~2.0" } } 支持的登录平台 QQ 微信网页扫...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7