>  기사  >  백엔드 개발  >  Google Cloud Pub/Sub를 사용하여 PHP 개발에서 메시지 구독 및 게시를 구현하는 방법

Google Cloud Pub/Sub를 사용하여 PHP 개발에서 메시지 구독 및 게시를 구현하는 방법

王林
王林원래의
2023-06-25 09:15:511762검색

Google Cloud Pub/Sub는 여러 애플리케이션 간에 실시간 비동기 데이터를 안정적으로 전송할 수 있는 완전 관리형 메시징 서비스입니다. 로드 밸런싱, 이벤트 기반 컴퓨팅, 로깅, 알림 및 분석 등과 같은 다양한 사용 사례를 충족하는 널리 사용되는 솔루션입니다.

PHP 개발에서는 Google Cloud Pub/Sub를 사용하여 메시지 구독 및 게시를 구현하는 것도 가능합니다. 이 문서에서는 PHP 애플리케이션에서 메시징을 위해 Google Cloud Pub/Sub를 사용하는 방법을 설명합니다.

  1. Google Cloud Pub/Sub 서비스 만들기

Google Cloud Pub/Sub를 사용하기 전에 Google Cloud Console에서 Google Cloud Pub/Sub API를 활성화하고 Google Cloud Pub/Sub 서비스 계정을 만들어야 합니다.

Google Cloud Pub/Sub API 활성화:

  1. Google Cloud Console 열기
  2. 메뉴 ->대시보드에서 API 및 서비스 선택
  3. 검색창에 "Google Cloud Pub/Sub API"를 입력하고 해당 서비스를 선택하세요
  4. 활성화 버튼을 클릭하세요

Google Cloud Pub/Sub 서비스 계정 만들기:

  1. Google Cloud Console 열기
  2. 왼쪽 메뉴에서 IAM 및 관리->서비스 계정 선택
  3. 서비스 계정 만들기 버튼 클릭
  4. 팝업 창에 서비스 계정 이름과 설명을 입력합니다.
  5. 역할 드롭다운 목록에서 Pub/Sub를 선택하고 ->Pub/Sub 수신자 또는 Pub/Sub 게시자
  6. 저장 버튼을 클릭합니다.
  7. 생성된 In에서 서비스 계정 세부정보 페이지에서 '키 만들기' 버튼을 클릭하고 JSON 형식을 선택하세요.
  8. PHP용 Google Cloud Pub/Sub SDK 설치

PHP용 Google Cloud Pub/Sub SDK는 Google Cloud Pub/Sub의 공식 버전입니다. PHP 애플리케이션에서 메시징을 구현하는 데 사용할 수 있는 PHP 라이브러리입니다.

Composer를 사용하여 PHP용 Google Cloud Pub/Sub SDK를 쉽게 설치:

composer require google/cloud-pubsub
  1. 메시지 게시

Google Cloud Pub/Sub를 사용하여 메시지를 게시하는 것은 매우 간단합니다. 다음 코드는 "example-topic"이라는 주제에 메시지를 게시할 수 있습니다.

require_once 'vendor/autoload.php';

use GoogleCloudPubSubPubSubClient;

$pubsub = new PubSubClient();

$topic = $pubsub->topic('example-topic');

$topic->publish(['data' => 'Hello, World!']);

위 코드에서는 "vendor/autoload.php" 파일의 자동 로더가 먼저 사용됩니다. 그런 다음 'GoogleCloudPubSubPubSubClient' 클래스를 사용하여 PubSub 클라이언트 객체를 인스턴스화합니다.

그런 다음 이전 단계에서 만든 서비스 계정 사용자 인증 정보를 사용하여 Pub/Sub 클라이언트 객체를 승인합니다. 클라이언트 개체에 권한이 부여되면 이를 사용하여 주제 및 구독에 대한 작업을 수행할 수 있습니다.

다음으로 $pubsub->topic() 메서드를 사용하여 "example-topic"이라는 주제에 대한 포인터를 가져와야 합니다. 그런 다음 $topic->publish() 메서드를 사용하여 주제에 메시지를 게시합니다.

publish() 메서드는 배열 매개변수를 허용합니다. 여기서 "data" 키는 게시할 메시지 콘텐츠를 지정하는 데 사용됩니다.

  1. 메시지 구독

메시지를 구독하려면 주제에 연결하고 해당 주제에 게시된 모든 메시지를 수신하는 구독을 만들어야 합니다.

다음 코드는 "example-subscription"이라는 구독을 생성하고 "example-topic"이라는 주제를 구독합니다.

require_once 'vendor/autoload.php';

use GoogleCloudPubSubPubSubClient;

$pubsub = new PubSubClient();

$topic = $pubsub->topic('example-topic');

$subscription = $topic->subscription('example-subscription');

if (!$subscription->exists()) {
    $subscription->create();
}

$messages = $subscription->pull();

foreach ($messages as $message) {
    echo $message->data() . PHP_EOL;
    $subscription->acknowledge($message);
}

위 코드에서는 먼저 "vendor/autoload.php" 파일 장치에서 자동 로딩을 사용합니다.

그런 다음 'GoogleCloudPubSubPubSubClient' 클래스를 사용하여 PubSub 클라이언트 객체를 인스턴스화합니다.

그런 다음 $pubsub->topic() 메서드를 사용하여 "example-topic"이라는 주제에 대한 포인터를 가져옵니다. 그런 다음 $topic->subscription() 메서드를 사용하여 "example-subscription"이라는 구독에 대한 포인터를 가져옵니다.

구독이 존재하지 않는 경우 $subscription->create() 메서드를 사용하여 구독을 생성하세요.

구독에서 메시지를 가져오려면 $subscription->pull() 메서드를 사용하세요. $subscription->pull() 메서드는 반환된 메시지 개체가 포함된 배열을 반환합니다.

메시지가 수신되면 메시지 배열을 반복하고 메시지 내용을 출력한 다음 $subscription->acknowledge() 메서드를 사용하여 메시지가 소비되었는지 확인합니다.

참고: pull() 메서드는 메시지가 수신되거나 시간 초과에 도달할 때까지 차단됩니다. 새 메시지를 기다리려면 recognition() 메서드를 사용하여 수신된 메시지를 확인할 수 있습니다.

  1. 결론

PHP 개발에서는 Google Cloud Pub/Sub를 사용하여 메시지 구독 및 게시를 구현하는 것이 매우 쉽습니다. PHP용 Google Cloud Pub/Sub SDK 라이브러리를 사용하고 위 단계에 따라 애플리케이션에 Google Cloud Pub/Sub를 통합하면 됩니다.

또한 Google Cloud Pub/Sub는 구독 필터를 사용하여 메시지를 필터링하고 메시징 작업의 만료 시간 및 보존 시간을 설정하는 등 실제 상황에 따라 사용할 수 있는 다양한 고급 기능을 제공합니다.

위 내용은 Google Cloud Pub/Sub를 사용하여 PHP 개발에서 메시지 구독 및 게시를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.