Hyperf — это чрезвычайно производительная и гибкая среда PHP CLI, оснащенная современным сервером сопрограмм и большим количеством проверенных в боевых условиях компонентов. Помимо решительного превосходства фреймворков PHP-FPM в тестах, Hyperf уникален тем, что уделяет особое внимание гибкости и композиции. Hyperf поставляется с инжектором зависимостей, поддерживающим АОП (аспектно-ориентированное программирование), чтобы гарантировать подключаемость и метапрограммируемость компонентов и классов. Все основные компоненты Hyperf строго соответствуют стандартам PSR и могут использоваться в других средах.
Архитектура Hyperf построена с использованием комбинации Coroutines , Dependency injection , Events , Annotations и AOP . Помимо предоставления MySQL , Redis и других распространенных клиентов сопрограмм, Hyperf также предоставляет совместимые с сопрограммами версии WebSocket server / client , JSON RPC server / client , gRPC server / client , Zipkin/Jaeger (OpenTracing) client , Guzzle HTTP client , Elasticsearch client , Consul client , ETCD client , AMQP component , Apollo configuration center , Aliyun ACM , ETCD configuration center , Token bucket algorithm-based limiter , Universal connection pool , Circuit breaker , Swagger , Snowflake , Simply Redis MQ , RabbitMQ , NSQ , Nats , Seconds level crontab , Custom Processes и т. д. Таким образом, разработчики могут полностью избегать реализации совместимых с сопрограммами версий эти библиотеки.
Будьте уверены, Hyperf по-прежнему остается PHP-фреймворком. Hyperf предоставляет все ожидаемые пакеты: Middleware , Event Manager , Coroutine-optimized Eloquent ORM (и кэш моделей!), Translation , Validation , View engine (Blade/Smarty/Twig/Plates/ThinkTemplate) и многое другое.
Несмотря на то, что существует множество новых PHP-фреймворков, мы до сих пор не нашли ни фреймворка, который бы сочетал в себе элегантный дизайн и сверхвысокую производительность, ни фреймворк, который проложил бы путь для микросервисов PHP. Учитывая это видение, мы продолжим инвестировать в будущее этой платформы, и вы можете присоединиться к нам и внести свой вклад в разработку Hyperf с открытым исходным кодом.
Hyperspeed + Flexibility = Hyperf . Уравнение, скрытое в нашем названии, демонстрирует основополагающие амбиции Hyperf.
Гиперскорость: используя сопрограммы Swoole и Swow , Hyperf способен обрабатывать огромные объемы трафика. Команда Hyperf внесла множество оптимизаций в структуру, чтобы устранить все узкие места между конечным пользователем и нашим блестящим движком.
Гибкость: мы считаем, что наш компонент внедрения зависимостей является лучшим в своем классе. С помощью Hyperf DI все компоненты и классы являются подключаемыми и метапрограммируемыми. И наоборот, все компоненты Hyperf предназначены для совместного использования со всем миром. Наша приверженность стандартам PSR означает, что вы можете использовать компоненты Hyperf в любой совместимой среде.
Благодаря этим качествам Hyperf обнаружила неиспользованный потенциал во многих областях: внедрение веб-серверов, серверов шлюзов, распределенного промежуточного программного обеспечения, архитектуры микросервисов, игровых серверов и Интернета вещей (IoT).
Linux, OS X или Cygwin, WSL, Windows
PHP 8.1+
Swoole 5.0+ или Swow 1.4+
Наряду с нашей хорошо поддерживаемой многоязычной документацией большое количество модульных тестов для каждого компонента обеспечивает логическую корректность. До того, как Hyperf был представлен публике (20 июня 2019 г.), он использовался в частном порядке некоторыми средними и крупными интернет-компаниями для различных сервисов, которые годами работали без происшествий в суровых производственных условиях.
Официальный сайт https://hyperf.io
Документация https://hyperf.wiki
Если вы обнаружите уязвимость безопасности в Hyperf, отправьте электронное письмо команде Hyperf по адресу [email protected]. Все уязвимости безопасности будут оперативно устранены.
Этот проект существует благодаря всем людям, которые вносят свой вклад. [Способствовать].
Станьте финансовым спонсором и помогите нам поддержать наше сообщество. [Способствовать]
Поддержите этот проект своей организацией или компанией. Здесь появится ваш логотип со ссылкой на ваш сайт. [Способствовать]
команда: wrk -c 1024 -t 8 http://127.0.0.1:9501/
Выполнение 10-секундного теста @ http://127.0.0.1:9501/
8 потоков и 1024 соединения
Статистика потоков Среднее стандартное отклонение Макс. +/- Стандартное отклонение
Задержка 10,08 мс 6,82 мс 56,66 мс 70,19%
Запрос/сек 13,17 тыс. 5,94 тыс. 33,06 тыс. 84,12%
1049478 запросов за 10,10 с, 190,16 МБ запросов на чтение/сек: 103921,49
Передача/сек: 18,83 МБNano — это минимальный дистрибутив Hyperf без конфигурации, без скелета, который позволяет быстро создать приложение Hyperf с помощью всего лишь одного PHP-файла.
GoTask — это библиотека, которая запускает процесс Go в качестве дополнительного модуля Swoole и устанавливает двунаправленный IPC для разгрузки тяжелых задач на Go. Думайте об этом как о Swoole Taskworker в Go.
Jet — это модель унификации RPC-клиента со встроенным протоколом JSONRPC, доступная для работы во ВСЕХ средах PHP, включая среды PHP-FPM и Swoole/Hyperf.
Box стремится помочь улучшить процесс программирования приложений Hyperf, управлять средой PHP и связанными с ней зависимостями, предоставлять возможность упаковывать приложения Hyperf в виде двоичных программ, а также предоставлять услуги обратного прокси-сервера для управления и развертывания приложений Hyperf.
Платформа Hyperf — это программное обеспечение с открытым исходным кодом, лицензированное по лицензии MIT.