Готовый перевод Mastering Swoole PHP: Build High Performance Concurrent System with Async and Coroutines / Осваиваем Swoole PHP: построение высокопроизводительной конкурентной системы с асинхронностью и корутинами: Что такое Swoole PHP

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «идёт перевод»

Swoole PHP - это расширение для ядра PHP, как и другие расширения PHP, такие как Opcache, которое включает готовые к использованию модули и функции: шаблоны серверов, собственные сопрограммы, планировщик сопрограмм, мультиплексирование и асинхронный ввод-вывод, управление состояниями, управление процессами, высокий уровень производительности хранилищ «ключ-значение» в памяти и т. д.

Swoole позволяет разработчикам создавать серверы TCP, HTTP, WebSocket и управлять ими программно с помощью синтаксиса PHP, который уже известен многим разработчикам PHP.

В отличие от PHP-FPM, который поддерживает только модели без сохранения состояния, с помощью Swoole вы можете кэшировать и управлять состояниями на сервере для повышения производительности. Он предоставляет новую модель выполнения приложений PHP.

Ваше приложение Swoole PHP - это не просто одноразовый сценарий командной строки, выполняемый по CRON'у или управляемый диспетчерами процессов, такими как PHP-FPM. Оно больше похоже на Node.js, Golang или Java-приложения, в которых вы можете создавать и управлять несколькими сопрограммами в одном процессе. Приложение работает как демон, как и другие языки. Процесс может обрабатывать несколько запросов или выполнять несколько задач одновременно. Вы также можете кэшировать или управлять состояниями, которые могут использоваться несколькими независимыми задачами или запросами.

По сравнению с PHP-FPM, весь ввод-вывод в приложении Swoole управляется событийными циклами, созданными Swoole. Таким образом, системные вызовы блокирующего ввода-вывода нельзя использовать в цикле обработки событий, иначе они могут заблокировать все другие параллельные операции ввода-вывода. Swoole сделал эти операции прозрачными для наиболее часто используемых клиентских библиотек, таких как MySQL PDO, Redis, CURL и т.д., заменив их более удобной для сопрограмм версией библиотек, предоставляющих тот же API.

По сравнению с другими асинхронными фреймворками PHP, вы можете использовать собственные функции PHP, такие как curl, в приложении Swoole. Swoole автоматически управляет операциями ввода-вывода с помощью событийного цикла. Это одна из нескольких причин, по которым Swoole более практичен по сравнению с другими асинхронными php-фреймворками.

На момент написания этой книги стабильная версия Swoole - 4.5.5. Все примеры кода, представленные в этой книге, следует запускать на этой версии.

Структура книги
Мы познакомим вас с некоторыми концепциями перед тем, как углубиться в детали Swoole PHP. Это общие концепции, которые помогут вам понять, какие проблемы решает Swoole PHP. Вы также сможете применить эти концепции для разработки и создания других реальных систем. Мы будем использовать простые примеры кода PHP, чтобы помочь вам понять концепции, которые мы ввели. Если вы чувствуете, что эта часть носит немного теоретический характер, вы можете пропустить эти разделы и перейти к практическим частям, а затем вернуться к этим концепциям и общим методологиям.

Затем мы представим модули и функции, предоставляемые Swoole PHP. Почему эти модули включены и какие проблемы эти модули решают. Вы также найдете пример кода PHP где показано, как использовать эти модули.

Третья часть книги включает некоторые углубленные знания о планировщиках, сопрограммах и расширениях PHP. Они будут полезны, если вам интересно и вы хотите понять, как Swoole PHP работает внутри, и настроить или расширить его с помощью кода PHP.

Открытый исходный код и бесплатное программное обеспечение
За последние 10-20 лет программное обеспечение с открытым исходным кодом стало мейнстримом. На сегодняшний день сложно найти программное обеспечение или веб-систему, которые не зависели бы от программного обеспечения с открытым исходным кодом. Люди извлекают выгоду из существующей базы кода или библиотеки, чтобы ускорить свою работу, а также внести свой вклад в нее. Люди работают удаленно и асинхронно и делятся своими идеями по улучшению одного и того же репозитория программного обеспечения. Swoole PHP - это программное обеспечение с открытым исходным кодом и лицензией Apache 2.0. Все желающие могут бесплатно использовать эту библиотеку в коммерческих целях. Поскольку он был публично выпущен на Github еще в 2012 году, в проект Swoole внесли свой вклад более 100 участников.

Другие преимущества, связанные с привлечением сообщества разработчиков ПО с открытым исходным кодом, заключаются в том, что вы можете общаться с экспертами из разных областей и профессий и учиться у них.

Мы по-прежнему рекомендуем теорию правильного инструмента для решения задачи. Swoole - это не серебряная пуля для решения всех проблем, это решение проблемы производительности и конкурентности языка PHP.

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод

Переведено на Нотабеноиде
http://notabenoid.org/book/81342/496676

Переводчики: bubenok

Настройки

Готово:

100.00% КП = 1.0