PHP Power Comet 실시간 메시징이 가능합니까?
PHP를 백엔드로 사용하여 실시간 채팅을 구현하는 것을 고려할 수 있습니다. 그러나 일반적인 비판은 이 아이디어에 그림자를 드리웠습니다.
"PHP는 각 브라우저 클라이언트와의 지속적인 연결을 유지해야 하기 때문에 Comet에게는 좋지 않은 선택이라고 합니다. mod_php를 활용하려면 각각에 대해 독점적으로 Apache 하위를 묶어야 합니다. 클라이언트가 솔루션을 확장할 수 없게 만듭니다."
문제
이 문제를 해결하기 위해 근본적인 문제를 살펴보겠습니다.
Apache의 스레드 관리
모든 Apache 요청은 별도의 작업자 스레드를 사용합니다. 완료될 때까지. 지속 시간이 길기로 알려진 Comet 요청은 이러한 스레드를 독점할 수 있습니다.
PHP의 동시 실행 제한
Apache의 스레드 할당이 해결되더라도 PHP의 특성상 고유한 스레드가 필요합니다. 요청에 따라. 결과적으로 FastCGI는 상황을 해결하지 못합니다.
Continuations: Beyond PHP's Reach
이벤트 트리거 시 Comet 요청 재개를 가능하게 하는 Continuations는 본질적으로 PHP에서 지원됩니다.
가능 솔루션
이러한 장애물에도 불구하고 해결 방법은 있습니다.
주의사항
이것 솔루션에는 주의사항이 있습니다. MPM은 상당한 개선을 제공하지 못할 수 있으며 로드 밸런싱으로 인해 아키텍처가 더욱 복잡해집니다.
위 내용은 PHP가 Comet 기반 실시간 메시징을 효과적으로 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!