Google Cloud Pub/Sub는 여러 애플리케이션 간에 실시간 비동기 데이터를 안정적으로 전송할 수 있는 완전 관리형 메시징 서비스입니다. 로드 밸런싱, 이벤트 기반 컴퓨팅, 로깅, 알림 및 분석 등과 같은 다양한 사용 사례를 충족하는 널리 사용되는 솔루션입니다.
PHP 개발에서는 Google Cloud Pub/Sub를 사용하여 메시지 구독 및 게시를 구현하는 것도 가능합니다. 이 문서에서는 PHP 애플리케이션에서 메시징을 위해 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 활성화:
Google Cloud Pub/Sub 서비스 계정 만들기:
PHP용 Google Cloud Pub/Sub SDK는 Google Cloud Pub/Sub의 공식 버전입니다. PHP 애플리케이션에서 메시징을 구현하는 데 사용할 수 있는 PHP 라이브러리입니다.
Composer를 사용하여 PHP용 Google Cloud Pub/Sub SDK를 쉽게 설치:
composer require google/cloud-pubsub
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" 키는 게시할 메시지 콘텐츠를 지정하는 데 사용됩니다.
메시지를 구독하려면 주제에 연결하고 해당 주제에 게시된 모든 메시지를 수신하는 구독을 만들어야 합니다.
다음 코드는 "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() 메서드를 사용하여 수신된 메시지를 확인할 수 있습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!