Mastering Swoole PHP: Build High Performance Concurrent System with Async and Coroutines / Осваиваем Swoole PHP: построение высокопроизводительной конкурентной системы с асинхронностью и корутинами: Что такое Swoole PHP
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Swoole PHP - это расширение для ядра PHP, как и другие расширения PHP, такие как Opcache, которое включает готовые к использованию модули и функции: шаблоны серверов, собственные сопрограммы, планировщик сопрограмм, мультиплексирование и асинхронный ввод-вывод, управление состояниями, управление процессами, высокий уровень производительности хранилищ «ключ-значение» в памяти и т. д. bubenok 30.01.21 в 09:40 |
+1 |
|
Swoole позволяет разработчикам создавать серверы TCP, HTTP, WebSocket и управлять ими программно с помощью синтаксиса PHP, который уже известен многим разработчикам PHP. bubenok 30.01.21 в 09:41 |
||
|
В отличие от PHP-FPM, который поддерживает только модели без сохранения состояния, с помощью Swoole вы можете кэшировать и управлять состояниями на сервере для повышения производительности. Он предоставляет новую модель выполнения приложений PHP. bubenok 30.01.21 в 09:43 |
||
|
Ваше приложение Swoole PHP - это не просто одноразовый сценарий командной строки, выполняемый по CRON'у или управляемый диспетчерами процессов, такими как PHP-FPM. Оно больше похоже на Node.js, Golang или Java-приложения, в которых вы можете создавать и управлять несколькими сопрограммами в одном процессе. Приложение работает как демон, как и другие языки. Процесс может обрабатывать несколько запросов или выполнять несколько задач одновременно. Вы также можете кэшировать или управлять состояниями, которые могут использоваться несколькими независимыми задачами или запросами. bubenok 30.01.21 в 09:52 |
||
|
По сравнению с PHP-FPM, весь ввод-вывод в приложении Swoole управляется событийными циклами, созданными Swoole. Таким образом, системные вызовы блокирующего ввода-вывода нельзя использовать в цикле обработки событий, иначе они могут заблокировать все другие параллельные операции ввода-вывода. Swoole сделал эти операции прозрачными для наиболее часто используемых клиентских библиотек, таких как MySQL PDO, Redis, CURL и т.д., заменив их более удобной для сопрограмм версией библиотек, предоставляющих тот же API. bubenok 30.01.21 в 09:55 |
||
|
По сравнению с другими асинхронными фреймворками PHP, вы можете использовать собственные функции PHP, такие как curl, в приложении Swoole. Swoole автоматически управляет операциями ввода-вывода с помощью событийного цикла. Это одна из нескольких причин, по которым Swoole более практичен по сравнению с другими асинхронными php-фреймворками. bubenok 30.01.21 в 09:57 |
||
|
На момент написания этой книги стабильная версия Swoole - 4.5.5. Все примеры кода, представленные в этой книге, следует запускать на этой версии. bubenok 30.01.21 в 09:58 |
||
|
Структура книги bubenok 30.01.21 в 10:00 |
||
|
Затем мы представим модули и функции, предоставляемые Swoole PHP. Почему эти модули включены и какие проблемы эти модули решают. Вы также найдете пример кода PHP где показано, как использовать эти модули. bubenok 30.01.21 в 10:01 |
||
|
Третья часть книги включает некоторые углубленные знания о планировщиках, сопрограммах и расширениях PHP. Они будут полезны, если вам интересно и вы хотите понять, как Swoole PHP работает внутри, и настроить или расширить его с помощью кода PHP. bubenok 30.01.21 в 10:02 |
||
|
Открытый исходный код и бесплатное программное обеспечение bubenok 30.01.21 в 10:03 |
||
|
Другие преимущества, связанные с привлечением сообщества разработчиков ПО с открытым исходным кодом, заключаются в том, что вы можете общаться с экспертами из разных областей и профессий и учиться у них. bubenok 30.01.21 в 10:04 |
||
|
Мы по-прежнему рекомендуем теорию правильного инструмента для решения задачи. Swoole - это не серебряная пуля для решения всех проблем, это решение проблемы производительности и конкурентности языка PHP. bubenok 30.01.21 в 10:07 |
