> PHP 프레임워크 > Workerman > 작업자 개발자가 알아야 할 몇 가지 문제

작업자 개발자가 알아야 할 몇 가지 문제

풀어 주다: 2019-11-26 18:11:50
앞으로
5217명이 탐색했습니다.

다음 workerman 튜토리얼 칼럼에서는 워커맨 개발자들이 꼭 알아야 할 몇 가지 사항을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

작업자 개발자가 알아야 할 몇 가지 문제

1. Workerman은 Apache나 nginx에 의존하지 않습니다.

workerman 자체는 PHP 환경이 괜찮다면 Workerman 자체는 이미 apache/nginx와 유사한 컨테이너로 실행될 수 있습니다.

2. Workerman은 명령줄에서 시작됩니다.

시작 방법은 명령을 사용하는 Apache와 유사합니다(일반 웹 공간에서는 Workerman을 사용할 수 없습니다). 시작 인터페이스는 아래 인터페이스와 유사합니다

작업자 개발자가 알아야 할 몇 가지 문제

3. 긴 연결은 하트비트를 추가해야 합니다

긴 연결은 하트비트를 추가해야 하고, 긴 연결은 하트비트를 추가해야 하며, 긴 연결은 하트비트를 추가해야 하며 중요한 내용을 세 번 말해야 합니다.

오랫동안 통신하지 않는 긴 연결은 반드시 방화벽에 의해 차단되어 연결이 끊어집니다. 심장박동이 없는 장기접속 어플은 당신을 KO시켜줄 상사를 기다립니다.

4. 통신을 위해서는 클라이언트와 서버 프로토콜이 일치해야 합니다.

이것은 개발자들 사이에서 매우 일반적인 문제입니다. 예를 들어 클라이언트가 websocket 프로토콜을 사용하는 경우 서버도 websocket 프로토콜(server new Worker('websocket://0.0.0.0...'))을 사용해야 연결 및 통신이 가능합니다.

브라우저 주소 표시줄에서 웹소켓 프로토콜 포트에 접근하지 마세요. 그리고 프로토콜이 일치해야 합니다.

여기의 원칙은 영국인과 의사소통하려면 영어를 사용하는 것과 유사합니다. 일본인과 대화하고 싶다면 일본어를 사용하세요. 여기서의 언어는 통신 계약과 유사합니다. 양측(클라이언트와 서버)이 동일한 언어를 사용하여 통신해야 합니다. 그렇지 않으면 통신이 불가능합니다.

5. 연결 실패의 가능한 원인

Workerman을 처음 사용할 때 가장 흔히 발생하는 문제는 클라이언트가 서버에 연결하지 못하는 것입니다. 그 이유는 일반적으로 다음과 같습니다.

1. 서버 방화벽(클라우드 서버 보안 그룹 포함)이 연결을 차단합니다(확률 50%)

2. 클라이언트와 서버에서 사용하는 프로토콜이 일치하지 않습니다(확률 30%).

3. IP 또는 포트가 잘못 작성되었습니다(15% 확률)

4. 서버가 시작되지 않았습니다

6. 종료 다이 절전 문을 사용하지 마세요

종료 다이 문을 실행하면 프로세스를 종료하고 WORKER EXIT UNEXPECTED 오류를 표시합니다. 물론 프로세스가 종료되면 즉시 새로운 프로세스를 재시작하여 서비스를 계속합니다. 반환해야 하는 경우 return을 호출할 수 있습니다. sleep 문은 프로세스를 절전 모드로 전환합니다. 절전 프로세스 중에는 어떠한 작업도 수행되지 않으며 프레임워크도 실행을 중지하여 프로세스의 모든 클라이언트 요청을 처리할 수 없게 됩니다.

7. 비즈니스 코드에 무한 루프가 없어야 합니다.

비즈니스 코드에 무한 루프가 없어야 합니다. 그렇지 않으면 제어권이 작업자 프레임워크로 반환되지 않아 다른 항목을 수신하고 처리할 수 없게 됩니다. 클라이언트 메시지.

8. 코드를 변경하면 다시 시작해야 합니다.

Workerman은 메모리 상주 프레임워크입니다. 코드를 변경할 때 새 코드의 효과를 보려면 Workerman을 다시 시작해야 합니다.

9장기 연결 응용 프로그램에는 GatewayWorker 프레임워크를 사용하는 것이 좋습니다

많은 개발자가 인스턴트 메시징, 사물 인터넷 등과 같은 장기 연결 응용 프로그램을 개발할 때 Workerman을 사용합니다. 애플리케이션의 경우 특별히 Workerman을 기반으로 하는 GatewayWorker 프레임워크를 직접 사용하는 것이 좋습니다. 다시 캡슐화되어 긴 연결 애플리케이션 백엔드로 더 간단하고 쉽게 사용할 수 있습니다.

10. 더 높은 동시성 지원

동시에 온라인 비즈니스 연결 수가 1,000개를 초과하는 경우 Linux 커널을 최적화하고 이벤트 확장 또는 libevent 확장을 설치하십시오.

더 많은 워커맨 튜토리얼을 보려면

workerman 튜토리얼 칼럼을 주목해주세요.

위 내용은 작업자 개발자가 알아야 할 몇 가지 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:workerman
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿