server gearman 은 무엇인가?

2023.06.21 03:15

엘카 조회 수:324

참고 문서  

Gearman은 여러 시스템에서 작업을 분배하고 처리할 수 있게 해주는 오픈 소스 애플리케이션 프레임워크입니다. 그것은 여러 서버에서 대규모 작업을 병렬로 수행하는 능력을 제공하며, 이를 통해 사용자는 높은 가용성, 시스템 장애 허용성, 그리고 분산 컴퓨팅의 장점을 활용할 수 있습니다.

Gearman의 주요 구성 요소는 클라이언트, 워커, 그리고 작업 서버입니다.

  • 클라이언트 : 작업을 요청하는 애플리케이션입니다.
  • 워커 : 실제로 작업을 처리하는 애플리케이션입니다.
  • 작업 서버 : 클라이언트의 요청을 받아서 워커에게 분배하고, 작업 완료를 클라이언트에게 알려주는 역할을 합니다.

PHP의 경우 Gearman을 사용하려면, PHP Gearman 확장을 설치해야 합니다. 이 확장은 PHP 애플리케이션에서 Gearman의 클라이언트나 워커로서의 역할을 수행할 수 있게 해줍니다. 그 결과 PHP 애플리케이션은 작업을 분배하고, 병렬로 처리하며, 필요에 따라 다른 시스템에 작업을 위임할 수 있게 됩니다.

아래는 PHP에서 Gearman을 사용하는 간단한 예시입니다.

// 클라이언트
$client= new GearmanClient();
$client->addServer();
print $client->do("reverse", "Hello World!");

// 워커
$worker= new GearmanWorker();
$worker->addServer();
$worker->addFunction("reverse", "my_reverse_function");
while ($worker->work());

function my_reverse_function($job) {
  return strrev($job->workload());
}

위의 예시에서 클라이언트는 "Hello World!" 문자열을 뒤집는 작업을 요청하고, 워커는 뒤집는 작업을 수행하고 결과를 반환합니다.

번호 제목 날짜 조회 수
81 검색엔진 등록 file 2010.05.12 142341
80 VPS (가상 호스팅) 비교 file 2010.05.12 62201
79 마인크래프트 조합법 1 file 2011.04.01 38381
78 CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] 2012.04.15 30240
77 리눅스 계정 생성/변경 [67] 2011.04.02 29130
76 Linux Memory 사용량 file 2012.05.16 25005
75 CentOS 6 - MySQL 5.5 설치 [1] file 2012.04.15 21743
74 Lighttpd 설치 file 2010.05.11 20679
73 sAPM file 2010.05.12 20264
72 php + ssh2 file 2010.06.05 20200
71 Linux 설치시 파티션 관리 file 2012.05.12 19206
70 Zend Optimizer + eAccelerator + Suhosin file 2010.05.11 18249
69 MySQL 설치 file 2010.05.11 17280
68 CentOS 6.2 다운로드 / 설치 [1] file 2012.04.15 17032
67 Apache 설치 file 2010.05.11 16658
66 ssh 로그인 제한 2011.04.05 16470
65 리눅스 자동 시작 file 2010.05.21 15895
64 ftp file 2010.07.23 15443
63 솔라리스 mount options 2013.10.06 15324
62 PHP 설치 file 2010.05.11 15057