Open Swoole (ранее имевший название Swoole) — это высокопроизводительная платформа для асинхронного запуска подпрограмм на PHP.
Swoole устанавливается как расширение для PHP. На данный момент Swoole поддерживается только для Linux и Mac
Стоит иметь в виду, что Swoole не работает с xDebug, самым популярным инструментом отладки в экосистеме PHP, а также плохо совместим с некоторыми другими инструментами профилирования и мониторинга.
Для правильной работы приложения, запущенного при помощи этой технологии, оно должно быть разработано с поддержкой асинхронного режима.
В асинхронном режиме переиспользуются загруженные конфигурации фреймворка, классы, инициализированные сервисы, кешированные данные, что значительно ускоряет работу.
Но вместе с этим есть характерные особенности, такие как необходимость больше следить за утечками памяти и устранять блокирующие операции, также многие из привычных сторонних библиотек не поддерживают асинхронный режим.
Хранение состояния (state) в логических частях приложения становится нежелательным, особенно, если оно связано с запросом.
Интерфейс RollbackInterface фреймворка предназначен для сброса состояния после каждого асинхронного запроса.
Для Swoole необходимо будет изменить файл /public/index.php, чтобы фреймворк HLEB2 выполнялся в цикле. Базовый рабочий пример:
Сервер Swoole запускается консольной командой:
$php ./public/index.php
Согласно настройкам, приложение будет доступно по адресу:
http://localhost:9504