swoole, swoole 가 어떻게 업무 에 활용 되 는 지 어떻게 이해 합 니까?
3052 단어 swoole
Swoole 은 PHP 개발 자 들 이 고성능 동시 다발 TCP, UDP, Unix Socket, HTTP, WebSocket 등 서 비 스 를 작성 할 수 있 도록 해 PHP 가 더 이상 웹 분야 에 국한 되 지 않도록 했다.스 울 4 협정의 성숙 은 PHP 를 전례 없 는 시기 로 끌 어 들 여 성능 향상 에 독보적 인 가능성 을 제공 했다.스 울 은 인터넷, 이동 통신, 클 라 우 드 컴 퓨 팅, 온라인 게임, 사물 인터넷 (IOT), 차량 인터넷, 스마트 홈 등에 광범 위 하 게 활용 할 수 있다.PHP + Swoole 을 사용 하면 기업 IT 연구개 발 팀 의 효율 을 크게 향상 시 키 고 혁신 제품 개발 에 더욱 전념 할 수 있 습 니 다.
이전에 swoole 를 접촉 한 적 이 없 는, 이미 인터넷 프로 그래 밍 을 한 사람 에 게 있어 서, 한동안 swoole 이 도대체 무엇 인지 이해 하기 어 려 웠 다.
swoole 를 만 났 을 때 나 도 어리둥절 한 얼굴 이 었 다.다음은 개인 적 인 이해 로 swoole 이 무엇 인지 설명 하 겠 습 니 다.
우선 프로 세 스, 스 레 드, 협 정 이 무엇 인지 알 아 보 겠 습 니 다.
프로 세 스 는 실행 중인 응용 프로그램 으로 이해 할 수 있 습 니 다.프로 세 스 는 프로그램의 실체 입 니 다.
스 레 드 는 프로그램의 단일 한 순서 제어 프로 세 스 이다.프로 세 스 내 에 상대 적 으로 독립 적 이 고 스케줄 러 가 있 으 며 시스템 독립 스케줄 러 와 CPU 를 할당 하 는 기본 단위 명령 이 실 행 될 때의 프로그램의 스케줄 러 입 니 다.하나의 프로그램 에서 여러 개의 스 레 드 를 동시에 실행 하여 서로 다른 작업 을 완성 하 는 것 을 다 중 스 레 드 라 고 합 니 다.프로 세 스 는 스 레 드 용기 입 니 다.스 레 드 는 프로 세 스 의 일부분 입 니 다.
협 정 은 일종 의 프로그램 구성 요소 다.협 정 은 비교적 유연 하지만 실천 에서 사용 하 는 것 은 하위 규칙 만큼 광범 위 하지 않다.협 정 은 프로 세 스 나 스 레 드 가 아니 라 실행 과정 은 하위 루틴 과 유사 하거나 반환 값 이 없 는 함수 호출 과 유사 합 니 다. 하나의 프로그램 은 여러 개의 협 정 을 포함 할 수 있 고 하나의 프로 세 스 와 여러 개의 스 레 드 를 포함 하 는 것 을 비교 할 수 있 습 니 다. 우 리 는 여러 개의 스 레 드 가 상대 적 으로 독립 되 고 자신의 문맥 이 있 으 며 시스템 통 제 를 받 는 것 을 알 고 있다.한편, 협 정 도 상대 적 으로 독립 되 고 자신의 문맥 이 있 지만 그 전환 은 자신 이 통제 하고 현재 협 정 에서 다른 협 정 으로 전환 하여 현재 협 정 에서 제어 한다. 협 정과 스 레 드 의 차이: 협 정 은 무의미 한 배 치 를 피 했 기 때문에 성능 을 향상 시 킬 수 있 지만 이 때문에 프로그래머 는 스스로 배 치 를 책임 져 야 한다. 또한 협 정 은 표준 스 레 드 가 다 중 CPU 를 사용 하 는 능력 도 잃 었 다.
프로 세 스, 스 레 드, 협 정 을 알 아 낸 후에 우 리 는 swoole 에 대해 이야기 합 시다.
swoole 는 php 협정 프레임 워 크 입 니 다.네트워크 프로 그래 밍 을 통 해 phop 의 성능 을 향상 시 키 는 phop 의 확장 으로 이해 할 수 있 습 니 다.
swoole 는 http, websocket, TCP, UDP, task, my sql, redis 등 동기 화, 비동기, 타이머 등 서 비 스 를 제공 합 니 다.
swoole 의 생명주기 1. 초기 화 2. onstart 오픈 3. onReceive 클 라 이언 트 가 요청 한 데이터 가 도 착 했 을 때
onReceive
함 수 를 호출 하여 업무 논리 처리 출력 결 과 를 수행 합 니 다. 4.onWorkerStop 작업 하위 프로 세 스 종료 시 반전 onWorkerStop
함수.5.onShutDown Swoole 서비스 정지 시 리 셋 onShutDown
함수 (또는 close)http 서 비 스 를 예 로 들 면:
$http = new Swoole\Http\Server("0.0.0.0", 9501);
$http->set([
'worker_num' => 5, // Worker 。
'enable_static_handler' => true, //
'document_root' => "/home/work/data", //
]);
//swoole
//onrequest HTTP ,
$http->on('request', function ($request, $response) {
$response->header("Content-Type", "text/html; charset=utf-8");
$response->end("Hello Swoole. #".rand(1000, 9999)."");
});
$http->start();
위의 코드 는 swoole 의 http 서 비 스 를 열 고 http 에서 보 낸 요청 을 처리 하 는 5 개의 프로 세 스 를 열 었 다 는 뜻 입 니 다.
swoole 는 상주 메모리 입 니 다. 코드 가 바 뀌 었 을 때 swoole 서 비 스 를 다시 시작 해 야 합 니 다.
이상 은 swoole 에 대한 간단 한 소개 입 니 다. 나중에 자세히 소개 하 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
tcp 서버 만들기/** * Created by PhpStorm. * User: Administrator * Date: 2018/4/3 * Time: 16:00 */ //创建服务器 TCP服务器 $serv = new swoole_ser...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.