Принцип

Описание Worker

Worker является самым базовым контейнером в Workerman, Worker может открывать несколько процессов для прослушивания портов и использовать специальные протоколы для связи, подобно тому, как nginx прослушивает определенный порт. Каждый процесс Worker работает независимо, используя Epoll (требуется установка расширения event) + неблокирующий ввод-вывод, каждый процесс Worker может обрабатывать тысячи подключений клиентов и обрабатывать данные, поступающие от них. Главный процесс для обеспечения стабильности отвечает только за мониторинг дочерних процессов, не обрабатывает данные и не выполняет никакой бизнес-логики.

Отношения между клиентом и процессом worker

workerman master woker模型

Отношения между главным процессом и дочерними процессами worker

workerman master woker模型

Особенности:

Из графика видно, что каждый Worker поддерживает собственные подключения клиентов, что позволяет легко реализовать реальную связь между клиентом и сервером. На основе этой модели мы можем легко удовлетворить некоторые основные потребности разработки, такие как HTTP-сервер, RPC-сервер, некоторые интеллектуальные устройства для передачи данных в реальном времени, серверы для отправки данных, игровые серверы, серверы фонового обслуживания WeChat Mini Programs и т.д.