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

Тексты / Научно-техническая литература / IT

Книга о том, как работаету Swoole PHP и о подводных камнях, поджидающих новых разработчиков, приходящих в мир Swoole PHP.
В этой книге также рассказывается об общих концепциях построения высокопроизводительной веб-системы с высоким уровнем конкурентности, о том, как эти концепции реализованы в Swoole PHP и как работает расширенный PHP.
Эта книга предоставляет достаточно знаний о ядре ОС Linux с примерами кода, которые помогут вам понять, как работает асинхронный ввод-вывод, конкурентность и корутины.
Начав изучать или использовать новый фреймоврк, люди всегда исходят из предыдущего опыта. Какой-то опыт оказывается полезен для понимания новой системы, а какой-то может привести к неправильному пониманию новой системы. Эта книга знакомит с подводными камнями, которых следует избегать, если вы опытный разработчик PHP.
Эта книга предназначена для разработчиков, которые уже знают основы работы веб-систем, таких как веб-приложение PHP или приложение на других языках программирования, таких как Node.js, Golang или Java.
После прочтения этой книги вы сможете с уверенностью построить высокопроизводительную систему Swoole PHP.

Оглавление:

Название Статус Активность Готово
Часть 1: Введение переводится > 1 года 100% (7 / 7) читать
О чем эта книга? переводится > 1 года 100% (6 / 6) читать
Что такое Swoole PHP переводится > 1 года 100% (13 / 13) читать
Часть 2: Основы > 1 года 100% (11 / 11) читать
PHP-FPM без сохранения состояния переводится > 1 года 100% (3 / 3) читать
Преимущества отсутствия сохранения состояния переводится > 1 года 100% (4 / 4) читать
Оборотная сторона отсутствия сохранения состояния переводится > 1 года 100% (2 / 2) читать
Резюме переводится > 1 года 100% (2 / 2) читать
Блокирование ввода/вывода в PHP-FPM переводится > 1 года 100% (6 / 6) читать
Проблемы производительности переводится > 1 года 100% (18 / 18) читать
Проблемы конкурентности переводится > 1 года 100% (17 / 17) читать
Быстрые и медленные компоненты переводится > 1 года 100% (6 / 6) читать
Конкурентные модели переводится > 1 года 100% (7 / 7) читать
Модели конкурентного программирования переводится > 1 года 100% (12 / 12) читать
Резюме переводится > 1 года 100% (2 / 2) читать
PHP в командной строке переводится > 1 года 100% (3 / 3) читать
Режим командной строки переводится > 1 года 100% (20 / 20) читать
Резюме переводится > 1 года 100% (1 / 1) читать
Часть 3: Основные концепции > 1 года 100% (1 / 1) читать
Исполнитель и контейнеры выполнения переводится > 1 года 100% (9 / 9) читать
Контейнеры общего исполнения переводится > 1 года 100% (22 / 22) читать
Вытесняющая и кооперативная многозадачность переводится > 1 года 100% (5 / 5) читать
Коммуникация и синхронизация состояний переводится > 1 года 100% (5 / 5) читать
Резюме переводится > 1 года 100% (4 / 4) читать
Управление жизненным циклом переводится > 1 года 100% (4 / 4) читать
Жизненный цикл переменной переводится > 1 года 100% (5 / 5) читать
Жизненный цикл процесса переводится > 1 года 100% (4 / 4) читать
Жизненный цикл TCP-соединения переводится > 1 года 100% (15 / 15) читать
Некоторые факты о TCP-соединениях переводится > 1 года 100% (16 / 16) читать
Резюме переводится > 1 года 100% (2 / 2) читать
Уменьшение связанности и слои переводится > 1 года 100% (4 / 4) читать
Некоторые послойные структуры переводится — 0% (0 / 9)
Ввод/вывод и снижение связанности CPU переводится — 0% (0 / 3)
Паттерн "Реактор" переводится — 0% (0 / 7)
Очередь, буфер, буферизация и пакетная обработка (пусто)
Буфер и буферизация переводится — 0% (0 / 6)
Пакетная обработка переводится > 1 года 25% (1 / 4) читать
Очереди переводится — 0% (0 / 4)
Резюме переводится — 0% (0 / 1)
Трубы и каналы переводится — 0% (0 / 5)
Трубы Linux переводится — 0% (0 / 4)
Сокеты переводится — 0% (0 / 3)
Каналы корутин переводится — 0% (0 / 3)
Контекст, стек и переключение контекста — 0% (0 / 8)
Переключение контекста может быть дорогостоящим переводится — 0% (0 / 4)
Синглплекс против мультиплекса переводится — 0% (0 / 5)
Синглплекс переводится (пусто)
Мультиплекс переводится > 1 года 0% (0 / 4)
Процесс мультиплексирования и демультиплексирования переводится — 0% (0 / 4)
Резюме переводится — 0% (0 / 2)
Асинхронность — 0% (0 / 8)
Асинхронность с системной точки зрения переводится — 0% (0 / 5)
Синхронность - это природа внутренних компонентов переводится — 0% (0 / 3)
Асинхронность - это природа отдельных компонентов переводится — 0% (0 / 7)
Накладные расходы асинхронности переводится — 0% (0 / 5)
Задержка и пропускная способность переводится — 0% (0 / 3)
Модели асинхронности переводится — 0% (0 / 2)
Обратные вызовы переводится — 0% (0 / 4)
Ключевые слова async, await, yield, resume и promise переводится — 0% (0 / 12)
Файберы и корутины переводится — 0% (0 / 4)
State, stateless, stateful и pooling переводится — 0% (0 / 4)
Стоимость инициализации состояний переводится — 0% (0 / 3)
Без сохранения состояния переводится — 0% (0 / 6)
Сохранение состояние переводится > 1 года 0% (0 / 15)
Pool и pooling переводится — 0% (0 / 11)
Pooling памяти переводится — 0% (0 / 3)
Резюме переводится — 0% (0 / 2)
Файловые дескрипторы, поток ввода/вывода переводится — 0% (0 / 7)
Стандартный поток ввода/вывода в PHP переводится — 0% (0 / 5)
Подключить или перенаправить поток ввода/вывода переводится — 0% (0 / 2)
Блокирующий и неблокирующий режимы переводится — 0% (0 / 5)
Мультиплексирование потока ввода/вывода переводится — 0% (0 / 6)
Исключения и таймауты переводится — 0% (0 / 3)
Крайние случаи переводится — 0% (0 / 4)
Обработка таймаутов переводится — 0% (0 / 7)
Error vs Exceptions переводится — 0% (0 / 12)
Повторная попытка и идемпотентность переводится — 0% (0 / 7)
Обработка исключений в Swoole PHP переводится — 0% (0 / 3)
Протокол переводится — 0% (0 / 2)
Шаблоны запросов и ответов переводится — 0% (0 / 4)
Упаковка двоичного протокола в PHP переводится — 0% (0 / 3)
Протоколы TCP и UDP переводится — 0% (0 / 3)
Протокол на основе TCP переводится — 0% (0 / 11)
Пользовательский протокол по TCP переводится > 1 года 0% (0 / 11)
Конкурентность и модель ввода/вывода (пусто)
Параллельность и конкурентность переводится — 0% (0 / 6)
Конкурентные модели ввода/вывода переводится — 0% (0 / 36)
Резюме переводится — 0% (0 / 3)
Событийность и обратные вызовы переводится (пусто)
События и событийность переводится — 0% (0 / 7)
Функции обратного вызова переводится — 0% (0 / 7)
Факты, затраты и ограничения переводится — 0% (0 / 2)
Значения задержек переводится — 0% (0 / 3)
Числовое описание задержки переводится — 0% (0 / 6)
Кэш и кэширование переводится — 0% (0 / 5)
Размер стека переводится — 0% (0 / 8)
Количество файловых дескрипторов переводится — 0% (0 / 9)
Переключение контекста и ограничение памяти переводится — 0% (0 / 4)
Ограничения скорости и ограничения конкурентности переводится — 0% (0 / 6)
Теория очередей переводится — 0% (0 / 8)
Часть IV: Практический мир ОС Linux — 0% (0 / 1)
Пользовательский режим и режим ядра переводится — 0% (0 / 10)
Системный вызов в ядре ОС переводится — 0% (0 / 7)
Переключение контекста переводится — 0% (0 / 4)
Управление памятью переводится — 0% (0 / 2)
Память стека переводится — 0% (0 / 4)
Память кучи переводится — 0% (0 / 4)
Управление памятью — 0% (0 / 3)
Процесс, поток и корутины переводится (пусто)
Процесс Linux переводится — 0% (0 / 6)
Разветвление процесса и копирование памяти переводится > 1 года 0% (0 / 18)
Потоки Linux переводится — 0% (0 / 7)
Корутины Swoole PHP переводится — 0% (0 / 7)
Сокеты и сетевой ввод-вывод переводится (пусто)
Сокеты переводится — 0% (0 / 14)
Обработка тайм-аута и исключений переводится — 0% (0 / 8)
Блокирующий и неблокирующий ввод/вывод переводится — 0% (0 / 11)
Делаем сокеты неблокирующимися и мультиплексированными переводится — 0% (0 / 18)
Select переводится — 0% (0 / 8)
Poll и epoll переводится — 0% (0 / 3)
Резюме переводится — 0% (0 / 4)
Обратные вызовы, await async и корутины переводится — 0% (0 / 6)
Обратные вызовы переводится — 0% (0 / 10)
Промисы и цепочки then переводится — 0% (0 / 4)
Async и Await переводится — 0% (0 / 4)
Корутины и файберы переводится — 0% (0 / 5)
Справедливое планирование переводится — 0% (0 / 7)
Часть 5: Подключение с помощью протоколов переводится — 0% (0 / 1)
Протокол TCP/UDP переводится — 0% (0 / 3)
Жизненный цикл TCP-соединения переводится — 0% (0 / 2)
Стоимость установления соединения переводится — 0% (0 / 2)
Постоянное соединение переводится — 0% (0 / 8)
Резюме переводится — 0% (0 / 3)
Протокол HTTP переводится — 0% (0 / 5)
HTTP 1.1 сохранение соединения переводится — 0% (0 / 4)
HTTP 1.1 SSE переводится — 0% (0 / 4)
HTTP 1.1 тестирование произовдительности переводится — 0% (0 / 6)
Резюме переводится — 0% (0 / 2)
Протокол WebSocket переводится — 0% (0 / 2)
Рукопожатие и установление соединения переводится — 0% (0 / 7)
Модель протокола переводится — 0% (0 / 4)
Клиентская сторона JavaScript переводится — 0% (0 / 5)
Резюме переводится — 0% (0 / 2)
Протокол HTTP2 и gRPC переводится — 0% (0 / 4)
HTTP2 переводится — 0% (0 / 31)
gRPC переводится — 0% (0 / 18)
Веб-производительность переводится — 0% (0 / 5)
Дополнительные мысли переводится — 0% (0 / 4)
Резюме переводится — 0% (0 / 3)
Пользовательский протокол переводится — 0% (0 / 4)
Пользовательский протокол по TCP переводится — 0% (0 / 14)
Резюме переводится — 0% (0 / 2)
Часть 6: Среда выполнения Swoole и расширение PHP переводится — 0% (0 / 1)
Синтаксис PHP переводится > 1 года 0% (0 / 5)
Расширения PHP переводится — 0% (0 / 6)
Сравнение с жизненным циклом PHP-FPM переводится — 0% (0 / 11)
Структура Swoole PHP-сервера переводится — 0% (0 / 10)
Переменные и состояния переводится — 0% (0 / 2)
Типы переменных и скоуп переводится — 0% (0 / 2)
Глобальные переменные переводится — 0% (0 / 10)
Жизненный цикл переменной переводится — 0% (0 / 6)
Утечки памяти переводится — 0% (0 / 6)
Хранение переменной переводится — 0% (0 / 5)
Изолирование глобальных переменных для корутин переводится — 0% (0 / 5)
Переменная и конкурентность переводится — 0% (0 / 5)
Событийный цикл и асинхронный ввод/вывод переводится — 0% (0 / 3)
Мультиплексирование ввода/вывода переводится — 0% (0 / 1)
Событийный цикл переводится — 0% (0 / 3)
Системные вызовы: select, poll и epoll, kqueue переводится — 0% (0 / 24)
Хуки Swoole для клиентских библиотек переводится > 1 года 0% (0 / 5)
Корутины Swoole PHP переводится — 0% (0 / 5)
Boost. Библиотека контекста переводится — 0% (0 / 6)
Виртуальная машина PHP переводится — 0% (0 / 4)
Чем полезны корутины? переводится — 0% (0 / 4)
Коды блокировки ввода/вывода переводится — 0% (0 / 1)
Резюме переводится — 0% (0 / 1)
Множественный режим выполнения переводится — 0% (0 / 1)
Режим BASE и режим PROCESS переводится — 0% (0 / 5)
Коды асинхронного ввода/вывода и блокировки ввода/вывода переводится — 0% (0 / 2)
Режим блокировки переводится — 0% (0 / 3)
Часть 7: Практика Swoole PHP — 0% (0 / 1)
Сервер Swoole переводится — 0% (0 / 1)
Swoole TCP-сервер переводится — 0% (0 / 4)
Swoole UDP-сервер переводится — 0% (0 / 6)
Swoole HTTP-сервер переводится — 0% (0 / 8)
Swoole HTTP2-сервер переводится — 0% (0 / 3)
Swoole Redis-сервер переводится — 0% (0 / 6)
Резюме переводится — 0% (0 / 1)
Swoole сервер-воркеры переводится — 0% (0 / 9)
Главный процесс переводится — 0% (0 / 2)
Процесс менеджера переводится — 0% (0 / 1)
Процесс сервер-воркера переводится — 0% (0 / 7)
Процессорная близость сервер-воркеров переводится — 0% (0 / 7)
Процесс таск-воркера переводится — 0% (0 / 4)
Процесс Sidecar переводится — 0% (0 / 1)
Резюме переводится — 0% (0 / 1)
Процесс Swoole переводится — 0% (0 / 6)
Выполнение внешнего процесса переводится — 0% (0 / 3)
Пул процессов Swoole переводится — 0% (0 / 3)
Резюме переводится — 0% (0 / 1)
КлиентыSwoole переводится — 0% (0 / 4)
TCP-клиент с блокирующим вводом-выводом переводится — 0% (0 / 3)
TCP-клиент с асинхронным вводом-выводом корутин переводится — 0% (0 / 5)
HTTP-клиент Swoole корутин переводится — 0% (0 / 4)
Совместимые с корутинами клиентские библиотеки PHP переводится — 0% (0 / 4)
Swoole Coroutine FastCGI-клиент переводится — 0% (0 / 2)
Резюме переводится — 0% (0 / 1)
Swoole Table переводится — 0% (0 / 6)
Swoole Timer переводится — 0% (0 / 6)
Swoole корутины и каналы переводится (пусто)
Контекст корутин Swoole переводится — 0% (0 / 1)
Корутины Swoole переводится — 0% (0 / 4)
Структуры корутин Swoole переводится — 0% (0 / 2)
Каналы Swoole переводится — 0% (0 / 6)
Тайм-аут операции переводится — 0% (0 / 1)
Закрытие канала переводится — 0% (0 / 2)
Часть 8: Примеры использования и шаблоны — 0% (0 / 1)
HTTP сервисы переводится (пусто)
Создание простого сервиса HTTP 1.1 с помощью Swoole PHP переводится — 0% (0 / 4)
Размещение статичных файлов на сервере Swoole переводится — 0% (0 / 4)
Обработка данных переводится — 0% (0 / 1)
Проблема одного процесса PHP скрипта переводится — 0% (0 / 1)
Использование всех ресурсов для обработки данных переводится — 0% (0 / 1)
Использование мощности нескольких машин переводится — 0% (0 / 1)
Прокси HTTP и PHP-FPM переводится — 0% (0 / 1)
Прокси HTTP переводится — 0% (0 / 2)
Прокси PHP-FPM переводится — 0% (0 / 3)
Процесс Sidecar переводится — 0% (0 / 4)
Служба TCP переводится — 0% (0 / 8)
Сервер WebSocket переводится (пусто)
"Hello World" WebSocket сервера переводится — 0% (0 / 5)
Служба таймера WebSocket переводится — 0% (0 / 7)
Планировщик задач переводится — 0% (0 / 5)
Производитель и Потребитель переводится — 0% (0 / 2)
Использование корутин переводится — 0% (0 / 3)
Использование процесса переводится — 0% (0 / 2)
Маппинг M:N конкурентности переводится — 0% (0 / 7)
Мультиплексирование и демультиплексирование переводится — 0% (0 / 1)
Протокол мультиплексирования переводится — 0% (0 / 2)
Несколько слов о конкурентности MySQL переводится — 0% (0 / 2)
Сервер протокола мультиплексирования переводится — 0% (0 / 1)
Резюме переводится — 0% (0 / 2)
Пул соединений переводится — 0% (0 / 4)
Реализация пула ресурсов с помощью SplQueue переводится — 0% (0 / 8)
Встроенный пул подключений переводится > 1 года 0% (0 / 3)
Определение собственного пула соединений переводится — 0% (0 / 2)
Резюме переводится — 0% (0 / 1)
Web spider и scraper переводится — 0% (0 / 7)
Система PUBSUB переводится — 0% (0 / 2)
Создание простой PUBSUB с помощью Swoole переводится — 0% (0 / 7)
Отправляемые сервером события (SSE) переводится — 0% (0 / 8)
Интеграция с процессом Linux переводится — 0% (0 / 7)
Резюме переводится — 0% (0 / 1)
Управление сервисами: RPC и gRPC переводится — 0% (0 / 4)
Определение протокола gRPC переводится — 0% (0 / 3)
Клиент gRPC на Swoole переводится — 0% (0 / 3)
Сервер gRPC на Swoole переводится — 0% (0 / 5)
Резюме переводится — 0% (0 / 1)
Ограничение скорости переводится (пусто)
Общая идея переводится — 0% (0 / 4)
Попробуйте и почувствуйте переводится — 0% (0 / 3)
Использование ограничителей скорости в службе HTTP переводится — 0% (0 / 3)
Резюме переводится — 0% (0 / 1)
Разработка собственных протоколов TCP переводится > 1 года 41.6% (5 / 12) читать
Мониторинг и отчетность переводится > 1 года 100% (2 / 2) читать
Часть 9: Хостинг и развертывание > 1 года 100% (1 / 1) читать
Docker и Kubernetes переводится > 1 года 100% (4 / 4) читать
Создайте собственный Dockerfile переводится > 1 года 100% (4 / 4) читать
Процесс переднего плана переводится > 1 года 100% (1 / 1) читать
Управление логами приложения Swoole переводится > 1 года 100% (1 / 1) читать
Запуск на AWS EC2 или на голом железе переводится > 1 года 100% (1 / 1) читать
Настройка количества воркеров сервера Swoole переводится > 1 года 100% (4 / 4) читать
Демонизация и передний план переводится > 1 года 100% (4 / 4) читать
Управление процессом приложения Swoole переводится > 1 года 100% (7 / 7) читать
Управление процессом Swoole с помощью PHP-кода переводится > 1 года 100% (3 / 3) читать
Управление логированием приложения Swoole переводится > 1 года 100% (3 / 3) читать
Наблюдение и кеширование с внешним прокси переводится > 1 года 100% (1 / 1) читать
Не конец переводится > 1 года 100% (4 / 4) читать
Перевод
Перевод:
текст с английского на русский
Создан:
17 января 2021, владелец: bubenok
Права доступа:
войти все
видеть чужие версии все
скачивать результат все
оценивать перевод группа
комментировать перевод группа
переводить группа
читать блог все
комментировать блог группа
писать в блог группа
анонсировать модераторы
редактировать оригинал модераторы
редактировать описание никто
управлять группой модераторы
Участие в группе после подтверждения модераторами
Готово:
20.12% КП = 1.0