This action will force synchronization from 宇润/imi, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
imi 是基于 PHP Swoole 的高性能协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP、MQTT 服务的开发。
在 Swoole 的加持下,相比 php-fpm 请求响应能力,I/O密集型场景处理能力,有着本质上的提升。
imi 框架拥有丰富的功能组件,可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
目前 imi v2 版本已经开始开发了(2020-09),如果有任何问题或建议,欢迎联系我们!
imi 框架入门教程(11集全)https://www.bilibili.com/video/av78158909
imi 框架进阶教程(五子棋服务端开发,每周连载中)https://space.bilibili.com/768718/channel/detail?cid=136926
创建 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
创建 MQTT Server 项目:composer create-project imiphp/project-mqtt
推荐使用 Swoole 官方 Docker:https://github.com/swoole/docker-swoole
不论您使用 imi 开发的是个人项目还是公司项目,不管是开源还是商业,都可以向我们提交案例。
案例可能会被采纳并展示在 imi 官网、Swoole 官网等处,这对项目的推广和发展有着促进作用。
提交格式:
项目介绍: 随着数据规模的越来越大,mysql已经不能适用大数据多维度的查询,需要用ES等一类的搜索引擎,进行多维度的分词查询,MYSQL现阶段使用按天分表存储,不能满足跨天的长时间查询。
如何以最快的速度完成数据迁移,将数据库中的数据迁移到ES中,是需要评估的一个重要技术点。
在高IO密集的场景下,单次请求需要80毫秒,imi运用Swoole协程,不断在用户态和内核态之间进行切换,充分利用计算机CPU,从而能快速完成海量数据迁移。
根据普罗米修斯的监控统计,在 两台 2C 4G的机器上,imi以每秒钟同步1000~1500条的同步速度,完成了上亿级别的数据迁移。
博文地址:https://blog.csdn.net/qq_32783703/article/details/113576741
项目介绍: 教书先生API是免费提供API数据接口调用服务平台 - 我们致力于为用户提供稳定、快速的免费API数据接口服务。
感言:
之前的话服务器配置是8H8G 30M这样的一个配置,每天日300万+的一个请求量,有一次是某个接口因一个错误时不时会导致服务器直接宕机,一个偶然的搜索看到了群主(宇润)大佬的一个imi项目,于是熬夜给程序内部请求核心代码换上了imi,正好手里面有一台1H2G 5M的服务器,拿来测试了一下,配合Redis 200万-300万+一点问题都没有的,最后还是要感谢宇润大佬的开源项目。
imi 遵循 木兰宽松许可证(Mulan PSL v2) 开源协议发布,并提供免费使用。
感谢以下开源项目 (按字母顺序排列) 为 imi 提供强力支持!
你想出现在贡献者列表中吗?
你可以做的事(包括但不限于以下):
最新代码以
dev
分支为准,提交PR
也请合并至dev
分支!
提交 Pull Request
到本仓库,你就有机会成为 imi 的作者之一!
Redis、MySQL
创建 db_imi_test
数据库,将 tests/db/db.sql
导入到数据库
配置系统环境变量,如果默认值跟你的一样就无需配置了
名称 | 描述 | 默认值 |
---|---|---|
SERVER_HOST | 测试用的服务,监听的主机名 | 127.0.0.1 |
MYSQL_SERVER_HOST | MySQL 主机名 | 127.0.0.1 |
MYSQL_SERVER_PORT | MySQL 端口 | 3306 |
MYSQL_SERVER_USERNAME | MySQL 用户名 | root |
MYSQL_SERVER_PASSWORD | MySQL 密码 | root |
REDIS_SERVER_HOST | Redis 主机名 | 127.0.0.1 |
REDIS_SERVER_PORT | Redis 端口 | 6379 |
REDIS_SERVER_PASSWORD | Redis 密码 | |
REDIS_CACHE_DB | Redis 缓存用的 db ,该 db 会被清空数据,请慎重设置 |
1 |
配置命令:export NAME=VALUE
首次运行测试脚本:composer install-test
首次之后再运行测试的命令:composer test
开源不求盈利,多少都是心意,生活不易,随缘随缘……