Channel 분산 통신 컴포넌트
(요구 Workerman 버전 >= 3.3.0)
소스 주소: https://github.com/walkor/Channel
Channel은 프로세스 간 통신 또는 서버 간 통신을 수행하기 위해 사용되는 분산 통신 컴포넌트입니다.
특징
-
구독-발행 모델 기반
-
비차단식 IO
원리
Channel은 Channel/Server 서버와 Channel/Client 클라이언트로 구성됩니다.
Channel/Client는 connect 인터페이스를 통해 Channel/Server에 연결하고 장기 연결을 유지합니다.
Channel/Client는 on 인터페이스를 호출하여 Channel/Server에 자신이 관심 있는 이벤트를 알려주고 이벤트 콜백 함수를 등록합니다(콜백은 Channel/Client가 있는 프로세스 내에서 발생합니다).
Channel/Client는 publish 인터페이스를 통해 Channel/Server에 특정 이벤트와 관련 데이터를 발행합니다.
Channel/Server는 이벤트 및 데이터를 수신한 후 이 이벤트에 관심 있는 Channel/Client에게 배포합니다.
Channel/Client는 이벤트 및 데이터를 수신한 후 on 인터페이스에 설정된 콜백을 트리거합니다.
Channel/Client는 자신이 관심 있는 이벤트만 수신하고 콜백을 트리거합니다.
설치
composer require workerman/channel
주의
Channel은 Workerman 환경에서만 사용할 수 있으며, php-fpm 환경에서는 사용할 수 없습니다.