swooletw/laravel-hyperf

基于强大的Hyperf框架的Laravel风格框架骨架。

安装: 13

依赖者: 0

建议者: 0

安全: 0

星级: 22

关注者: 1

分支: 2

类型:项目

dev-master 2024-09-23 04:18 UTC

This package is auto-updated.

Last update: 2024-09-23 04:19:11 UTC


README

Build Status Total Downloads Latest Stable Version License

简介

Laravel Hyperf 是一个基于 Hyperf 框架的 Laravel 风格骨架,专为 Laravel 工匠设计。

除了Swoole带来的高性能外,它还采用了Laravel的目录结构和组件风格,并将许多常见的Laravel包(如 AuthCacheConfigContainerCommandDatabaseEventFacadeRouterMiddlewareLogEncryptionHashing错误处理验证服务提供者BladeEloquentStringArrayCollection翻译测试 等)迁移到更协程友好。如果你是Laravel开发者,你会觉得这个框架非常熟悉,几乎不需要额外学习。

为什么选择 Laravel Hyperf?

虽然 Laravel Octane 非常令人印象深刻,并且显著提高了你的 Laravel 应用程序的速度和性能,但重要的是要考虑现代网络应用程序的本质。在大多数情况下,大多数延迟来自 I/O 操作,例如读取文件、查询数据库和进行API请求。

如果你的应用程序严重依赖于缓慢的I/O操作,你仍然可能会遇到性能瓶颈。考虑以下场景

想象一下构建一个由AI驱动的聊天机器人,其中每个会话API需要3-5秒才能响应。如果你在 Laravel Octane 中有10个工作进程,并且接收10个并发请求,所有工作进程都会被占用,直到这些请求完成。

你可以查看 Laravel Octane 和 Laravel Hyperf 之间的 基准比较

在这种情况下,即使 Laravel Octane 进行了改进,你的应用程序处理并发请求的能力仍然受到这些 I/O 操作持续时间的限制。Laravel Hyperf 通过利用协程来解决这个问题,允许高效地处理并发 I/O 操作而不阻塞工作进程。这种方法可以显著提高具有大量I/O需求的应用程序的性能和并发性。

对于I/O密集型场景,Laravel Octane 可能不会显著提高性能。此外,由于目前只有Swoole运行时支持此功能,并且考虑到框架和第三方包的向后兼容性,Laravel Octane 很可能在不久的将来不支持协程(参见 此问题)。

即使 Laravel Octane 支持协程,这些协程也仍然局限于单个请求,工作进程将保持阻塞,直到该请求中的所有I/O操作完成。这意味着你的 Laravel 应用程序在这种情况下无法获得更好的QPS结果。

有关更多信息,请参阅 此拉取请求

Laravel Hyperf 的目标是帮助 Laravel 工匠享受 Hyperf 的高性能,同时保持熟悉的 Laravel 开发实践。它与 Hyperf 包兼容,确保开发者可以共享相同的生态系统和社区。我们鼓励开发者为 Hyperf 项目做出贡献,同时造福 Hyperf 和 Laravel Hyperf

文档

https://laravel-hyperf.com/docs

Laravel Hyperf 提供了全面且易于使用的文档,使您可以快速入门。从这份文档中,您可以了解如何使用 Laravel Hyperf 中的各种组件,并了解此框架与 Laravel 之间的区别。

这份文档中的大部分内容都参考了官方 Laravel 文档。我们感谢 Laravel 社区的贡献。

许可证

Laravel Hyperf 框架是开源软件,受MIT许可证的许可。