원리
Worker 소개
Worker는 Workerman에서 가장 기본적인 컨테이너로, 여러 개의 프로세스를 시작하여 특정 프로토콜을 사용하여 포트를 수신대기하고, 특정 포트를 수신하기 위해 nginx와 유사한 작업을 합니다. 각 Worker 프로세스는 독립적으로 동작하며, Epoll(이벤트 확장이 필요함)+논블로킹 IO를 사용하여 수만 개의 클라이언트 연결과 해당 연결로부터 수신된 데이터를 처리할 수 있습니다. 안정성을 유지하기 위해 주 프로세스는 자식 프로세스를 모니터링하는 것에만 집중하며, 데이터를 수신하거나 비즈니스 로직을 수행하지 않습니다.
클라이언트와 Worker 프로세스의 관계
주 프로세스와 Worker 하위 프로세스의 관계
특징:
그림에서 볼 수 있듯이 각 Worker는 고유한 클라이언트 연결을 유지하며, 클라이언트와 서버 간의 실시간 통신을 쉽게 구현할 수 있습니다. 이러한 모델을 기반으로하여 HTTP 서버, RPC 서버, 일부 스마트 하드웨어의 실시간 데이터 보고, 서버에서의 데이터 푸시, 게임 서버, 웨이신 앱 백엔드 등과 같은 기본적인 개발 요구를 쉽게 구현할 수 있습니다.