원리

Worker 설명

Worker는 Workerman에서 가장 기본적인 컨테이너로, Worker는 여러 개의 프로세스를 열어 포트를 리스닝하고 특정 프로토콜로 통신할 수 있습니다. 이는 nginx가 특정 포트를 리스닝하는 것과 유사합니다. 각 Worker 프로세스는 독립적으로 작동하며, Epoll(이벤트 확장을 설치해야 함) + 비차단 IO를 사용합니다. 각 Worker 프로세스는 수만 개의 클라이언트 연결을 지원하고 이러한 연결에서 전송된 데이터를 처리할 수 있습니다. 주 프로세스는 안정성을 유지하기 위해 자식 프로세스를 모니터링하는 역할만 하며, 데이터를 수신하거나 어떤 비즈니스 로직도 처리하지 않습니다.

클라이언트와 worker 프로세스의 관계

workerman master woker 모델

주 프로세스와 worker 자식 프로세스 관계

workerman master woker 모델

특징:

그림에서 볼 수 있듯이 각 Worker는 자신만의 클라이언트 연결을 유지하여 클라이언트와 서버 간의 실시간 통신을 쉽게 구현할 수 있습니다. 이러한 모델을 바탕으로 HTTP 서버, RPC 서버, 일부 스마트 하드웨어의 실시간 데이터 보고, 서버 푸시 데이터, 게임 서버, 위챗 미니 프로그램 백엔드 등과 같은 기본 개발 요구 사항을 쉽게 구현할 수 있습니다.