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

Оглавление
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

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

bubenok 30.01.21 в 10:08

0

Зачем нужна сторонняя библиотека? Какие у нас есть проблемы? Это лучшее решение? Мы должны задать себе эти вопросы, прежде чем тратить время и ресурсы на изучение и освоение новой библиотеки.

bubenok 30.01.21 в 10:10

0

Nginx и PHP-FPM - это шаблон для большинства веб-проектов PHP сегодня.

bubenok 30.01.21 в 10:12

0

Немного истории PHP. До PHP-FPM популярным решением был веб-сервер Apache httpd в связке с модулем mod_php. Начиная с Fedora 27, когда mod_php перестал устанавливаться по умолчанию, используется php-fpm. А Fedora 33 прекратила поддержку mod_php.

bubenok 30.01.21 в 10:17

0

И PHP-FPM, и mod_php не сохраняют состояние подключения. Это сделало PHP одним из самых популярных языков веб-программирования, а также первым языком некоторых разработчиков.

bubenok 30.01.21 в 10:19

0

Архитектура без сохранения состояния также является самой популярной веб-архитектурой последние 10 лет. Большинство современного программного обеспечения построено без сохранения состояния, поскольку масштабирование является важным фактором. Архитектура без сохранения состояния более масштабируема, легко расширяема добавлением большего количества серверов в случаях, когда ваш трафик растет. Разработчики делают меньше ошибок и не думают об утечках памяти. Создавать приложения без сохранения состояния проще; разработчикам не нужно слишком много думать о том, как управлять состояниями на уровне приложения.

bubenok 30.01.21 в 10:22

0

Как и во многих других задачах, не существует одного ответа, подходящего для решения всех проблем. Архитектура без сохранения состояния - не единственно правильное решение, и у нее есть недостатки, которые мы обсудим в другом разделе.

bubenok 30.01.21 в 10:24

0

Сравним приложения без сохранения состояния с приложениями, хранящими состояния во внешнем хранилище в базе данных или кеше. Приложения с отслеживанием состояния сохраняют некоторые состояния в приложении и повторно используют их для других запросов. По своей природе PHP-FPM не может сохранять состояния в приложении, вам нужно полагаться на локальные кеши, такие как Memcache или другое удаленное хранилище кешей.

bubenok 30.01.21 в 10:27

0

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

bubenok 30.01.21 в 10:31

0

Вы должны иметь возможность выбирать монолитное решение или микросервисную архитектуру в зависимости от потребностей вашего приложения. Некоторые состояния могут быть сохранены и повторно использованы в приложении; некоторые другие состояния можно рассматривать как внешние состояния.

bubenok 30.01.21 в 10:33

0

Это одна из причин, почему были созданы PHP-решения с отслеживанием состояния, такие как Swoole PHP.

bubenok 30.01.21 в 10:34

0
Минутку...