webman이란

Webman은 Workerman을 기반으로 구축된 고성능 서비스 프레임워크로, HTTP, WebSocket, TCP, UDP 등 다양한 모듈을 통합하고 있습니다. 상주 메모리, 코루틴, 연결 풀 등의 최신 기술을 통해 Webman은 전통적인 PHP의 성능 병목을 뛰어넘었을 뿐만 아니라, 그 응용 분야도 크게 확장했습니다.

또한 Webman은 강력한 플러그인 메커니즘을 제공하여 개발자가 다른 개발자가 개발한 기능 모듈을 신속하게 통합하고 재사용할 수 있도록 합니다. 웹사이트 구축, HTTP 인터페이스 개발, 실시간 통신 구현, IoT 시스템 구축, 게임 개발, TCP/UDP 서비스, Unix Socket 서비스 등 어느 분야에서든 Webman은 손쉽게 처리하며, 뛰어난 성능과 유연성을 보여줍니다.

주의
현재 문서는 webman v2 버전을 기준으로 하고 있습니다. 만약 v1 버전을 사용하고 있다면, webman v1 문서를 확인해 주세요.

webman 이념

최소한의 커널로 최대한의 확장성과 최강의 성능을 제공합니다.

webman은 핵심 기능(라우팅, 미들웨어, 세션, 사용자 정의 프로세스 인터페이스)만 제공합니다. 나머지 기능은 모두 composer 생태계를 재사용합니다. 이는 webman에서 가장 익숙한 기능 구성 요소를 사용할 수 있음을 의미합니다. 예를 들어 데이터베이스 관련하여 개발자는 Laravel의 illuminate/database를 선택할 수도 있고, ThinkPHP의 ThinkORM이나 Medoo 등 다른 구성 요소를 사용할 수도 있습니다. webman에 이들을 통합하는 것은 매우 쉬운 일입니다.

webman은 다음과 같은 특징을 가지고 있습니다

  1. 높은 안정성. webman은 workerman을 기반으로 개발되었으며, workerman은 업계에서 버그가 매우 적은 고안정성 소켓 프레임워크입니다.

  2. 초고성능. webman의 성능은 전통적인 php-fpm 프레임워크보다 10-100배 정도 뛰어나며, go의 gin, echo 등의 프레임워크보다도 성능이 약 1배 높습니다.

  3. 높은 재사용성. 수정할 필요 없이 기존 composer 생태계를 재사용할 수 있습니다.

  4. 높은 확장성. 사용자 정의 프로세스를 지원하여 workerman이 할 수 있는 모든 작업을 수행할 수 있습니다.

  5. 매우 간단하고 사용하기 쉬우며, 학습 비용이 매우 낮습니다. 전통적인 프레임워크와 코드 작성 방식에 차이가 없습니다.

  6. 이진 패키징을 지원하여 PHP 환경 없이도 직접 실행할 수 있습니다.

  7. 가장 관대하고 친절한 MIT 오픈 소스 라이선스를 사용합니다.

프로젝트 주소

GitHub: https://github.com/walkor/webman 당신의 작은 별을 아끼지 말아 주세요

코드 구름: https://gitee.com/walkor/webman 당신의 작은 별을 아끼지 말아 주세요

제3자 권위 있는 압력 테스트 데이터

데이터베이스 쿼리 비즈니스를 포함한 경우 webman의 단일 서버 처리량은 39만 QPS에 도달하며, 전통적인 php-fpm 아키텍처의 Laravel 프레임워크보다 거의 80배 높습니다.

데이터베이스 쿼리 비즈니스를 포함한 경우 webman의 성능은 유사한 Go 언어의 웹 프레임워크보다 약 1배 높은 성능을 보입니다.

위의 데이터는 techempower.com에서 가져온 것입니다.