Что такое webman
Webman — это высокопроизводительный фреймворк сервисов, построенный на базе Workerman, который интегрирует различные модули, такие как HTTP, WebSocket, TCP, UDP и другие. Используя такие современные технологии, как постоянное хранение в памяти, корутины и пул соединений, Webman не только преодолевает традиционные ограничения производительности PHP, но и значительно расширяет области его применения.
Кроме того, Webman предлагает мощный механизм плагинов, который позволяет разработчикам быстро интегрировать и повторно использовать функциональные модули, разработанные другими разработчиками. Независимо от того, строите ли вы веб-сайт, разрабатываете HTTP-интерфейсы, осуществляете мгновенную связь, создаете системы Интернета вещей или разрабатываете игры, TCP/UDP-сервисы, услуги Unix Socket и так далее, Webman справится с любыми задачами, демонстрируя卓越的性能 и гибкость.
Внимание
Текущая документация относится к версииwebman v2
. Если вы используете версию v1, пожалуйста, посмотрите документацию webman v1
Идея webman
Предоставить максимальную расширяемость и наилучшие характеристики с минимальным ядром.
webman предоставляет лишь основные функции (маршрутизация, посредники, сессии, интерфейсы пользовательских процессов). Остальные функции полностью используют экосистему composer, что означает, что вы можете использовать в webman самые знакомые функциональные компоненты, например, в области баз данных разработчики могут выбрать использование Laravel illuminate/database, ThinkPHP ThinkORM или других компонентов, таких как Medoo
. Интегрировать их в webman очень легко.
Webman имеет следующие особенности
-
Высокая стабильность. Webman разработан на базе Workerman, который на протяжении многих лет является высокостабильным сокет-фреймворком с очень небольшим количеством ошибок.
-
Исключительная производительность. производительность webman в 10-100 раз выше, чем у традиционных фреймворков php-fpm, и в 2 раза выше, чем у таких фреймворков, как gin или echo на Go.
-
Высокая повторная использованность. Без необходимости модификации можно повторно использовать существующую экосистему composer.
-
Высокая расширяемость. Поддержка пользовательских процессов позволяет выполнять любые задачи, которые может выполнять Workerman.
-
Супер простота и удобство использования, очень низкая стоимость обучения, написание кода не отличается от традиционных фреймворков.
-
Поддержка бинарной упаковки, которая позволяет запускать без среды PHP.
-
Использование очень свободной и дружелюбной лицензии MIT.
Адрес проекта
GitHub: https://github.com/walkor/webman Не стесняйтесь ставить свои звездочки!
码云: https://gitee.com/walkor/webman Не стесняйтесь ставить свои звездочки!
Данные точного тестирования от третьих лиц
При наличии запросов к базе данных webman достигает пропускной способности в 390,000 QPS на одной машине, что почти в 80 раз выше, чем у фреймворка laravel в традиционной архитектуре php-fpm.
При наличии запросов к базе данных webman демонстрирует производительность, в 2 раза превышающую производительность аналогичных фреймворков на языке Go.
Эти данные получены с сайта techempower.com