大家好,我是GitHub好项目君,每天分享GitHub上的好项目
主要分享GitHub上有趣、有意义、重要的项目
RoadRunner – 高性能 PHP 应用程序服务器、负载平衡器和进程管理器。
源代码:
http://www.gitpp.com/xb/roadrunner-cn
项目介绍
RoadRunner 是一个开源(MIT 许可)高性能 PHP 应用程序服务器、负载均衡器和进程管理器。它支持作为服务运行,并且能够在每个项目的基础上扩展其功能。
RoadRunner 包括 PSR-7/PSR-17 兼容的 HTTP 和 HTTP/2 服务器,可用于取代经典的 Nginx+FPM 设置,具有更高的性能和灵活性。
特征
RoadRunner具有一系列插件,包括HTTP(S)/2/3
与fCGI
PSR-7/PSR-17 标准兼容的服务器。这只是其众多功能之一。它是传统 Nginx+FPM 设置的有效替代方案,提供改进的性能和更大的灵活性。其广泛的插件选项远远超出了HTTP(S)/2/3
服务器的范围fCGI
,提供了广泛的功能:
-
队列驱动程序:RabbitMQ、Kafka、SQS、Beanstalk、NATS、内存中。
-
KV 驱动程序:Redis、Memcached、BoltDB、内存中。
-
OpenTelemetry 协议支持 (
gRPC
,http
,jaeger
)。 -
通过Temporal 的工作流引擎。
-
gRPC
服务器。为了提高速度,protobuf
可以使用扩展。 -
HTTP(S)/2/3
fCGI
服务器具有自动 TLS 管理、103 Early Hints支持和中间件,例如:Static、Headers、gzip、prometheus(metrics)、send(x-sendfile)、OTEL、proxy_ip_parser 等。 -
嵌入式分布式锁插件,用于管理对共享资源的访问。
-
指标服务器(您可以轻松公开自己的)。
-
通过Centrifugo服务器进行 WebSocket 和广播。
-
类似 Systemd 的服务管理器,具有自动重启、执行时间限制器等功能。
-
生产就绪。
-
还有更多😉
RoadRunner是一个由Go语言编写的高性能PHP应用程序服务器,它同时也具备负载均衡和进程管理的能力。
这个框架能够在多个PHP应用之间高效地分配和平衡负载,从而提升整体的处理速度和性能。它通过使用Go语言的goroutines和multi-threading特性,为PHP应用程序提供了接近于极限的性能。
以下是 RoadRunner 的一些关键特性:
1. 轻量级和快速:RoadRunner 设计轻量级,启动速度快,非常适合进行频繁的测试运行。
2. 支持 PHPUnit:RoadRunner 与 PHPUnit 测试框架紧密集成,可以无缝地使用 PHPUnit 的测试用例。
3. 服务器代理:通过内置的 RoadRunner 服务器代理,它可以捕获应用程序的所有 HTTP 请求和响应,便于测试。
4. 中间件支持:允许开发者自定义中间件来处理请求和响应,以便对测试环境进行更多控制。
5. 热重载:在测试过程中,修改代码后无需重启 RoadRunner,即可立即看到更改效果。
6. 代码覆盖率报告:RoadRunner 支持多种代码覆盖率库,如 PHPUnit、Codeception 等,方便开发者了解代码覆盖情况。
7. 环境隔离:可以为每个测试任务创建独立的 PHP 解释器实例,避免测试间的环境污染。
8. 并行测试:支持并行运行测试,可以大大缩短测试时间。
9. 命令行界面:提供简洁的命令行界面,方便进行测试任务的运行和管理。
10. 扩展性:RoadRunner 具有很好的扩展性,可以通过插件来扩展其功能。
以上是 RoadRunner 的一些关键特性,开发者可以根据自己的需求选择合适的测试框架来提高代码质量和开发效率。
官网:https://roadrunner.dev/
源代码:
http://www.gitpp.com/xb/roadrunner-cn
我们收集了 10000+ 开源项目 点击 阅读原文了解更多开源项目
本内容观点仅代表发布作者本人观点立场,欣文网平台只做信息内容展示和存储。发布作者:全网转载,转转请注明出处:https://www.xinenw.com/25321.html