server gearman 은 무엇인가?

2023.06.21 03:15

엘카 조회 수:328

참고 문서  

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!" 문자열을 뒤집는 작업을 요청하고, 워커는 뒤집는 작업을 수행하고 결과를 반환합니다.

번호 제목 날짜 조회 수
31 CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] 2012.04.15 30240
30 CentOS 6 - MySQL 5.5 설치 [1] file 2012.04.15 21744
29 Lighttpd 설치 file 2010.05.11 20679
28 sAPM file 2010.05.12 20264
27 php + ssh2 file 2010.06.05 20205
26 Zend Optimizer + eAccelerator + Suhosin file 2010.05.11 18249
25 MySQL 설치 file 2010.05.11 17280
24 Apache 설치 file 2010.05.11 16667
23 PHP 설치 file 2010.05.11 15057
22 CentOS 6 - PHP 5.3.10 컴파일 / 보안 [1] 2012.04.15 14286
21 vmware workstation performance tips [2] 2013.10.25 13948
20 Apache Module mod_ratelimit (아파치 트래픽 제한) file 2012.05.11 13683
19 자동 백업 / 삭제 (data + mysql) [1] 2012.04.15 13586
18 CentOS 6 PHP 5.3 - APC(Alternative PHP Cache) 3.1.9 2012.04.15 11369
17 스패머 알려주는 사이트 2014.09.11 2447
16 netdata 이용한 centos 모니터링 2020.01.25 2374
15 간단하고 강력한 xe 보안 향상 2014.11.08 1874
14 yum install latest redis file 2019.03.27 1682
13 certbot apache multiple domain 2019.04.10 1416
12 yum install mariadb [2] 2018.10.10 1143