PHP는 서버 측 개발 및 웹 애플리케이션 개발에 일반적으로 사용되는 인기 있는 프로그래밍 언어입니다. Kafka는 대규모 메시징을 관리하는 데 사용할 수 있는 분산 메시징 시스템입니다. 이 기사에서는 메시징에 PHP와 Kafka를 사용하는 방법을 소개합니다.
먼저 필요한 도구와 라이브러리를 설치해야 합니다. Linux에서는 다음 명령을 사용할 수 있습니다.
sudo apt-get install php-zmq librdkafka-dev
Windows 시스템을 사용하는 경우 관련 도구와 라이브러리를 수동으로 다운로드하여 설치해야 합니다.
다음으로 PHP용 ZeroMQ 확장을 설치해야 합니다. Linux에서는 다음 명령을 사용할 수 있습니다.
sudo pecl install zmq-beta
Windows 시스템을 사용하는 경우 PHP용 ZeroMQ 확장을 수동으로 다운로드하여 설치해야 합니다.
이러한 준비가 완료되면 메시징에 PHP와 Kafka를 사용할 수 있습니다. 다음은 간단한 예입니다.
<?php $conf = new RdKafkaConf(); $conf->set('metadata.broker.list', 'localhost:9092'); $producer = new RdKafkaProducer($conf); $topic = $producer->newTopic("test"); for ($i = 0; $i < 10; $i++) { $message = "Message " . $i; $topic->produce(RD_KAFKA_PARTITION_UA, 0, $message); } $producer->flush(10000); $consumerConf = new RdKafkaConf(); $consumerConf->set('metadata.broker.list', 'localhost:9092'); $consumerConf->set('group.id', 'testgroup'); $consumer = new RdKafkaKafkaConsumer($consumerConf); $consumer->subscribe(['test']); while (true) { $message = $consumer->consume(120 * 1000); switch ($message->err) { case RD_KAFKA_RESP_ERR_NO_ERROR: echo "Received message: " . $message->payload . " "; break; case RD_KAFKA_RESP_ERR__PARTITION_EOF: echo "End of partition "; break; case RD_KAFKA_RESP_ERR__TIMED_OUT: echo "Timed out "; break; default: echo "Error: " . $message->errstr() . " "; break; } $consumer->commit(); }
이 예에서는 먼저 생산자를 만들고 "test"라는 주제에 10개의 메시지를 보냅니다. 그런 다음 소비자를 생성하고 "test" 주제를 구독했습니다. 마지막으로 Kafka 주제에서 사용된 메시지를 수신하는 무한 루프에 들어갑니다.
이 예제를 실행하면 Kafka 주제에서 보낸 메시지를 지속적으로 수신하여 콘솔에 출력합니다. 루프를 종료하려면 Ctrl + C 키 조합을 사용하여 프로그램을 중지하십시오.
이 간단한 예에서는 메시징에 PHP와 Kafka를 사용하는 방법을 보여줍니다. 이 접근 방식을 배우면 대규모 메시징 및 처리를 더 잘 관리하고 애플리케이션을 더욱 강력하고 안정적으로 만드는 데 도움이 됩니다.
위 내용은 메시징에 PHP 및 Kafka를 사용하는 방법 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!