Что такое webman

webman — это высокопроизводительный сервисный фреймворк, построенный на Workerman и интегрирующий HTTP, WebSocket, TCP, UDP и другие модули. За счёт резидентной памяти, корутин и пулов соединений webman не только преодолевает ограничения производительности традиционного PHP, но и значительно расширяет области его применения.

Кроме того, webman предлагает мощный механизм плагинов, позволяющий разработчикам быстро интегрировать и повторно использовать функциональные модули, созданные другими. Будь то веб-сайты, HTTP-API, обмен сообщениями, IoT-системы, игры, TCP/UDP-сервисы, Unix Socket и другое — webman справляется со всем этим легко, обеспечивая отличную производительность и гибкость.

Философия webman

Максимальная расширяемость и производительность при минимальном ядре.

webman предоставляет только базовые функции (маршрутизацию, промежуточное ПО, сессии, интерфейс пользовательских процессов). Остальное берётся из экосистемы Composer. То есть вы можете использовать привычные компоненты: например, для БД — illuminate/database Laravel, ThinkORM ThinkPHP или Medoo. Интеграция с webman очень простая.

Особенности webman

  1. Высокая стабильность. webman построен на workerman — одном из самых стабильных и редко содержащих ошибки socket-фреймворков в индустрии.

  2. Очень высокая производительность. webman превосходит традиционные PHP-FPM-фреймворки в 10–100 раз и примерно вдвое — Go-фреймворки вроде gin и echo.

  3. Высокая повторная используемость. Существующая экосистема Composer может использоваться без изменений.

  4. Высокая расширяемость. Поддерживаются пользовательские процессы и всё, что умеет workerman.

  5. Очень простой и понятный, низкие затраты на изучение, стиль кода не отличается от классических фреймворков.

  6. Поддерживает бинарную упаковку и может запускаться напрямую без PHP.

  7. Использует самую разрешительную и удобную для разработчиков MIT-лицензию.

Ссылки проекта

GitHub: https://github.com/walkor/webman Не скупитесь на звёздочку!

Gitee: https://gitee.com/walkor/webman Не скупитесь на звёздочку!

Данные бенчмарков от третьих лиц

При запросах к БД webman достигает до 390 000 QPS на одной машине — примерно в 80 раз больше, чем Laravel на традиционной архитектуре PHP-FPM.

При запросах к БД webman показывает примерно вдвое более высокую производительность по сравнению с аналогичными веб-фреймворками на Go.

Данные взяты с techempower.com.