Swoole 핫 업데이트 방법

(*-*)浩
풀어 주다: 2019-12-07 13:59:31
원래의
3124명이 탐색했습니다.

Swoole 버전의 반복 업데이트로 충분히 안정적이 되었습니다. Alibaba, Tencent, YY와 같은 대기업에서도 사용하고 있습니다. 게임계의 많은 친구들도 자주 언급합니다. 질문., 코드가 업데이트될 때마다 서비스를 중지했다가 다시 시작해야 코드를 업데이트할 수 있습니다. 하지만 이 방법은 비교적 조잡합니다.

Swoole 핫 업데이트 방법

사실 swoole은 다시 로드 기능을 제공하고 코드의 핫 업데이트를 완벽하게 지원합니다.

swoole의 reload를 소개하기 전에 웹 메소드가 어떻게 파일을 변경하고 즉시 적용되는지 간략하게 설명하겠습니다.

#🎜 ## # 几#여러 개념:

(추천 학습:SWOOLE 비디오 튜토리얼)🎜🎜#1) SAPI: 단순히 외부 A 통합에 대한 PHP 엔진으로 이해될 수 있습니다. PHP가 외부 프로그램과 상호 작용할 수 있게 해주는 인터페이스

2) PHP 수명 주기의 네 가지 주요 호출: MINT -> RINT -> MSHUTDOWN

#🎜🎜 #3) fpm: fastcgi 프로세스 관리자

그런 다음 fpm의 프로세스는 다음과 같습니다. fpm이 sapi 인터페이스를 통해 PHP 프로세스와 상호 작용합니다.


첫 번째 단계: 각 확장의 MINT 메서드가 호출되어 일부 데이터 초기화(메모리에 상주)를 수행합니다.


두 번째 단계: 각 요청이 먼저 실행됩니다. RINT는 단일을 초기화합니다. 요청 라인,

세 번째 단계: PHP 스크립트 실행,

네 번째 단계: RSHUTDOWN 메서드 실행,

다섯 번째 단계 단계: fpm을 중지하려면 MSHUTDOWN이 실행됩니다.

fpm은 2~4단계를 반복적으로 실행하여 각 요청을 처리합니다.

3단계에서는 php 스크립트가 동적으로 실행되는데, php 스크립트는 매번 한 번씩 실행되어야 하고, 각 php 스크립트에는 핸들러가 있어야 하기 때문입니다. PHP 파일을 opcode로 변환(상대적으로 시간이 많이 소요됨)하여 opcache 도구가 만들어졌습니다.

opcache: PHP로 변환된 opcode 코드 트리를 공유 메모리에 직접 저장하여 직접 사용할 수 있으므로 매번 PHP를 opcode로 변환하는 오버헤드가 줄어듭니다.


opcache 문제: 그의 설명에 따르면 php 파일이 수정되어 즉시 업데이트할 수 없습니다.


opcache 해결 방법: 예 A 구성. 파일 업데이트 여부를 감지하는 기간을 설정하여 두 번째 단계에서 관련 파일을 다시 로드할 수 있습니다.


물론 fpm을 직접 다시 로드할 수도 있습니다. 따라서 PHP 핫 업데이트 효과를 얻을 수 있습니다(opcache 확장은 네 번째 단계에서 관련 opcode 캐시를 지울 수 있습니다).

위 내용은 Swoole 핫 업데이트 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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