server gearman 은 무엇인가?
2023.06.21 03:15
참고 문서 |
---|
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());
}
$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!" 문자열을 뒤집는 작업을 요청하고, 워커는 뒤집는 작업을 수행하고 결과를 반환합니다.
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
31 | CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] | 2012.04.15 | 30240 |
30 | CentOS 6 - MySQL 5.5 설치 [1] | 2012.04.15 | 21748 |
29 | Lighttpd 설치 | 2010.05.11 | 20679 |
28 | sAPM | 2010.05.12 | 20264 |
27 | php + ssh2 | 2010.06.05 | 20205 |
26 | Zend Optimizer + eAccelerator + Suhosin | 2010.05.11 | 18249 |
25 | MySQL 설치 | 2010.05.11 | 17280 |
24 | Apache 설치 | 2010.05.11 | 16667 |
23 | PHP 설치 | 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 (아파치 트래픽 제한) | 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 | 2377 |
15 | 간단하고 강력한 xe 보안 향상 | 2014.11.08 | 1874 |
14 | yum install latest redis | 2019.03.27 | 1682 |
13 | certbot apache multiple domain | 2019.04.10 | 1416 |
12 | yum install mariadb [2] | 2018.10.10 | 1143 |