Workerman — это высокоэффективный инструмент для построения асинхронных серверов на языке PHP. Он предназначен для работы с вебсокетами, HTTP-серверами, чат-приложениями, API и другими сетевыми приложениями.
Workerman работает без установки дополнительных расширений или зависимостей, так как он полностью реализован на чистом PHP. Это делает его кроссплатформенным и простым в установке.
Стоит отметить, что Workerman поддерживает как HTTP, так и HTTPS, позволяет работать с вебсокетами и легко масштабируется для обработки большого количества соединений одновременно. Благодаря этому он может быть использован для создания realtime приложений, таких как чаты, системы уведомлений и серверы потоковой передачи.
Для правильной работы приложения, запущенного при помощи этой технологии, оно должно быть разработано с поддержкой асинхронного режима.
В асинхронном режиме переиспользуются загруженные конфигурации фреймворка, классы, инициализированные сервисы, кешированные данные, что значительно ускоряет работу.
Но вместе с этим есть характерные особенности, такие как необходимость больше следить за утечками памяти и устранять блокирующие операции, также многие из привычных сторонних библиотек не поддерживают асинхронный режим.
Хранение состояния (state) в логических частях приложения становится нежелательным, особенно, если оно связано с запросом.
Интерфейс RollbackInterface фреймворка предназначен для сброса состояния после каждого асинхронного запроса.
Установить Workerman можно через Composer, как обычную PHP-библиотеку. Подробнее в инструкции по установке сервера.
Под Workerman необходимо будет изменить файл /public/index.php, чтобы фреймворк HLEB2 выполнялся в цикле.
Базовый рабочий пример:
Сервер Workerman запускается консольной командой:
$php ./public/index.php start
Согласно указанным настройкам, приложение будет доступно по адресу: http://127.0.0.1:2345
← Запуск с помощью Roadrunner Сервер Swoole →