revolt/event-loop
Composer 安装命令:
composer require revolt/event-loop
包简介
Rock-solid event loop for concurrent PHP applications.
README 文档
README
Revolt is a rock-solid event loop for concurrent PHP applications. The usual PHP application spends most of its time waiting for I/O. While PHP is single threaded, cooperative multitasking can be used to allow for concurrency by using the waiting time to do different things.
PHP's traditional synchronous execution flow is easy to understand. Doing one thing at a time. If you query a database, you send the query and wait for a response from the database server. Once you have the response, you can start doing the next thing.
Amp, ReactPHP, and other libraries have offered cooperative multitasking in PHP for a long time. However, their event-driven nature was incompatible to many existing interfaces and required a different thinking model. PHP 8.1 ships with fibers built-in, which offers cooperative multi-threading. Calls can be synchronous without promises or callbacks, while still allowing for non-blocking I/O.
Every application making use of cooperative multitasking needs a single scheduler (also called event loop), which this package provides. Revolt is the result of combining years of experience of Amp's and ReactPHP's event loop implementations. However, it is not a full-blown framework for writing concurrent PHP applications, but only provides what's necessary as a common base. Different (strongly) opinionated libraries can be built on top of it and both Amp and ReactPHP will continue to co-exist.
Installation
It may surprise people to learn that the PHP standard library already has everything we need to write event-driven and non-blocking applications. This package can be installed as a Composer dependency on PHP 8.1 and later.
composer require revolt/event-loop
Applications with many concurrent file descriptors require one of the extensions.
→ View documentation
→ View examples
Versioning
revolt/event-loop follows the semver semantic versioning specification.
License
The MIT License (MIT). Please see LICENSE file for more information.
revolt/event-loop 适用场景与选型建议
revolt/event-loop 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 52.51M 次下载、GitHub Stars 达 924, 最近一次更新时间为 2021 年 10 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「event」 「event-loop」 「async」 「asynchronous」 「scheduler」 「concurrency」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 revolt/event-loop 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 revolt/event-loop 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 revolt/event-loop 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The bundle for easy using json-rpc api on your project
Wrapper around proc_open to ease communication via streams between processes
An async event for hyperf.
An asynchronous event driven PHP framework for easily building fast, scalable network applications.
Symfony bundle for broadway/broadway.
An asynchronous event driven PHP framework for easily building fast, scalable network applications.
统计信息
- 总下载量: 52.51M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 928
- 点击次数: 41
- 依赖项目数: 171
- 推荐数: 7
其他信息
- 授权协议: MIT
- 更新时间: 2021-10-14