현대 분산 시스템에서 Zookeeper는 일반적으로 사용되는 조정 및 관리 서비스입니다. 분산 시스템에 대한 고성능 및 고성능 관리 프레임 워크를 제공하여 구성 관리, 이름 지정 서비스 및 분산 잠금 장치와 같은 문제를 해결할 수 있습니다.
이 기사는 PHP를 사용하여 Zookeeper의 말을 듣고 Zookeeper와 상호 작용하여 분산 시스템의 모니터링 및 관리 기능을 실현하는 방법을 자세히 소개합니다.
Zookeeper는 Java를 기반으로 개발되었으므로 Java Running 환경을 먼저 설치해야합니다.
먼저, Zookeeper 설치 패키지를 다운로드하여 압축합니다.
<span class="fun">$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.gz</span>
<span class="fun">$ tar -xzf apache-zookeeper-3.7.0-bin.tar.gz</span>
<span class="fun">$ cd apache-zookeeper-3.7.0-bin</span>
다음으로 Zookeeper 구성 파일 zoo.cfg를 구성하십시오.
<span class="fun">$ cp conf/zoo_sample.cfg conf/zoo.cfg</span>
<span class="fun">$ vi conf/zoo.cfg</span>
구성 파일에서 필요에 따라 청취 할 IP 주소 및 포트 번호와 같은 매개 변수를 설정할 수 있습니다.
그런 다음 Zookeeper 서비스를 시작하십시오.
<span class="fun">$ ./bin/zkserver.sh 시작</span>
Zookeeper 서비스가 성공적으로 시작된 후에는 다음 단계를 계속할 수 있습니다.
PHP를 사용하여 Zookeeper를 듣려면 먼저 Zookeeper에 해당하는 PHP 확장을 설치해야합니다.
PHP가 시스템에 설치되었는지 확인하십시오.
<span class="fun">$ php -v</span>
다음으로 Zookeeper PHP 확장을 다운로드하여 설치하십시오.
<span class="fun">$ git 클론 https://github.com/andreiz/php-zookeeper.git</span>
<span class="fun">$ cd php-zookeeper</span>
<span class="fun">$ phpize</span>
<span class="fun">$./구성</span>
<span class="fun">$ make</span>
<span class="fun">$ sudo는 설치합니다</span>
마지막으로 PHP 구성 파일 php.ini 에서 확장자를 활성화하십시오.
<span class="fun">Extension = Zookeeper.so</span>
PHP를 사용하면 Zookeeper 서버에 연결하여 Zookeeper 클래스를 통해 작동 할 수 있습니다.
<span class="fun">$ ZK = New Zookeeper ( "LocalHost : 2181");</span>
<span class="fun">if ($ zk-> getState ()! == ZooKeeper :: Connected_state) {</span>
<span class="fun"> Echo "Zookeeper가 연결되어 있지 않습니다.";</span>
<span class="fun"> 출구 (1);</span>
이 코드에서는 Zookeeper Object를 생성하고 지정된 주소 및 포트를 통해 Zookeeper 서비스에 연결하고 연결 상태를 확인하여 연결이 성공적으로 설정되었는지 확인하십시오.
Zookeeper는 노드를 사용하여 경로와 데이터로 구성된 각 노드를 저장합니다.
다음은 노드 생성을위한 코드 예입니다.
<span class="fun">$ path = "/mynode";</span>
<span class="fun">$ data = "안녕하세요, Zookeeper!";</span>
<span class="fun">$ ZK-> CREATE ($ path, $ data);</span>
위의 코드에서는 데이터 hello, Zookeeper !
노드의 데이터를 얻으려면 Get 메소드를 사용할 수 있습니다.
<span class="fun">$ path = "/mynode";</span>
<span class="fun">$ data = $ zk-> get ($ path);</span>
위의 코드는 노드 /MyNode 의 데이터를 가져 와서 변수 $ 데이터 에 저장합니다.
Zookeeper를 사용하면 노드 데이터의 변경 사항을들을 수 있습니다. 노드 데이터가 변경되면 콜백 기능이 자동으로 트리거됩니다.
노드 변경을 듣기위한 샘플 코드는 다음과 같습니다.
<span class="fun">$ path = "/mynode";</span>
<span class="fun">$ watcherCallback = function ($ eventType, $ stat, $ path) {</span>
<span class="fun"> Echo "Node $ 경로가 변경되었습니다!";</span>
<span class="fun">};</span>
<span class="fun">$ ZK-> ENDISSSWITHWATCH ($ path, $ watcherCallback);</span>
이 코드에서는 콜백 함수 $ watcherCallback을 등록하고 endessswithwatch 메소드를 통해 Node /MyNode 의 변경 사항을 듣습니다. 노드 데이터가 변경되면 콜백 기능이 자동으로 호출됩니다.
이 기사에서는 PHP를 사용하여 Zookeeper를 듣는 방법, PHP 확장 설치, 동물원에 연결하는 것, 노드 생성, 노드 데이터 얻기 및 노드 변경 청취의 기능을 다루는 방법에 대해 설명합니다. 이러한 작업을 통해 분산 시스템의 모니터링 및 관리를 실현하여 시스템의 안정성과 안정성을 향상시킬 수 있습니다.
실제 애플리케이션에서는 특정 요구에 따라 코드를 확장하고 최적화하고 데이터 지속성 및 자동화 된 운영 및 유지 보수와 같은 다른 기술을 결합하여 시스템 성능 및 유용성을 향상시킬 수 있습니다.