Google PCD: API-Design, Integration und ereignisgesteuerte Entwicklung — Lernleitfaden

Teil des Google Professional Cloud Developer — Lernleitfaden. Üben Sie mit verifizierten Antworten im Google-Prüfungscenter, oder absolvieren Sie zeitlich begrenzte Übungstests auf ExamRoll.io.

Überblick

Moderne Anwendungsintegration auf Google Cloud kombiniert gut konzipierte synchrone APIs mit robusten asynchronen und ereignisgesteuerten Mustern. Das Ziel ist es, klare Verträge, eine starke Identität, eine konsistente Fehlerbehandlung und betriebliche Kontrollen bereitzustellen, die auch bei Ausfällen, Skalierung oder Änderungen eine niedrige Latenz und hohe Verfügbarkeit gewährleisten. Dieser Abschnitt behandelt Protokoll- und API-Optionen, Gateways und Authentifizierung, Messaging und Event-Routing, Hintergrundverarbeitung, Orchestrierung, Identität und Vertrauen zwischen Diensten, Zuverlässigkeitsmuster, sichere Webhooks und eine sichere Schema-Evolution.

API-Design und -Management

Wählen Sie das richtige Protokoll:

Versionierung und Paginierung:

Validierung und Fehler:

Optionen für das API-Management:

Authentifizierung und Kontingente:

Minimales API Gateway OpenAPI-Beispiel mit Cloud Run-Backend und OIDC:

openapi: 3.0.0
info: {title: orders, version: 1.0.0}
paths:
  /v1/orders:
    get:
      security: [{firebase: []}]
      x-google-backend: {address: https://orders-xyz-uc.a.run.app}
      responses: {"200": {description: OK}}
components:
  securitySchemes:
    firebase:
      type: http
      scheme: bearer
      bearerFormat: JWT
      x-google-issuer: https://securetoken.google.com/PROJECT_ID
      x-google-audiences: PROJECT_ID

Asynchrones Messaging und Eventing

Pub/Sub-Grundlagen:

Topic, Subscription und DLQ erstellen:

gcloud pubsub topics create orders
gcloud pubsub topics create orders-dlq
gcloud pubsub subscriptions create orders-sub \
  --topic=orders \
  --dead-letter-topic=orders-dlq \
  --max-delivery-attempts=5 \
  --ack-deadline=30

Logik des Consumers: Implementieren Sie idempotente Handler und Deduplizierung (z. B. nach messageId oder einem Idempotenzschlüssel auf Anwendungsebene); wiederholen Sie vorübergehende Fehler mit Backoff; verschieben Sie nicht behebbare Nachrichten in die DLQ und alarmieren Sie.

Eventarc und CloudEvents:

Einen Eventarc-Trigger für die Finalisierung von Cloud Storage-Objekten erstellen:

gcloud eventarc triggers create index-new-objects \
  --destination-run-service=media-indexer \
  --destination-run-region=us-central1 \
  --event-filters="type=google.cloud.storage.object.v1.finalized" \
  --event-filters="bucket=my-assets-bucket" \
  --service-account=eventarc-router@PROJECT_ID.iam.gserviceaccount.com

Kompromisse:

Orchestrierung, Hintergrundverarbeitung und langlaufende Prozesse

Cloud Tasks:

Eine Warteschlange mit Ratenbegrenzungen und Wiederholungsversuchen erstellen:

gcloud tasks queues create payments-queue \
  --max-dispatches-per-second=50 \
  --max-concurrent-dispatches=200 \
  --max-attempts=10 \
  --min-backoff=5s \
  --max-backoff=300s

Workflows:

Skizze einer Kompensation:

main:
  params: [orderId]
  steps:
  - charge:
      call: http.post
      args: {url: ${paymentsUrl}/charge, auth: {type: OIDC}, body: {orderId: ${orderId}}}
      result: chargeRes
  - reserveInventory:
      try:
        steps:
        - reserve:
            call: http.post
            args: {url: ${inventoryUrl}/reserve, auth: {type: OIDC}, body: {orderId: ${orderId}}}
      except:
        as: e
        steps:
        - refund:
            call: http.post
            args: {url: ${paymentsUrl}/refund, auth: {type: OIDC}, body: {paymentId: ${chargeRes.body.id}}}
        - raise: ${e}

Betriebliche Anleitung:

Identität, Zuverlässigkeit und Integrationen

Dienst-zu-Dienst-Identität und Token-Weitergabe:

Ein ID-Token in Cloud Run abrufen:

AUD="https://inventory-xyz-uc.a.run.app"
TOKEN=$(curl -s -H "Metadata-Flavor: Google" \
  "http://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=${AUD}")
curl -H "Authorization: Bearer ${TOKEN}" "${AUD}/v1/check"

Synchrone Abhängigkeiten und Resilienz:

Webhooks und Integrationen von Drittanbietern:

Schema-Evolution und Kompatibilität:

Sicherheit und Kontingente im gesamten Stack:

Praktisches Problemszenario

AcmeRetail entwickelt einen Click-to-Collect-Service auf Google Cloud. Eine React-Webanwendung ruft eine öffentliche API auf, um Bestellungen aufzugeben; Backend-Dienste müssen den Lagerbestand reservieren, Zahlungen abwickeln und die Filialen benachrichtigen. Das Team benötigt APIs mit geringer Latenz, zuverlässige Hintergrundverarbeitung, ereignisgesteuerte Aktualisierungen und ein sicheres Rollback bei Teilfehlern.

Ansatz:

  1. Bereitstellung einer öffentlichen REST-API über API Gateway vor einem Cloud Run-Bestellservice.
  1. Implementierung von Dienst-zu-Dienst-Aufrufen mit gRPC für interne Hot Paths (Bestellungen an Lagerbestand, Preisgestaltung).
  1. Verwendung von Workflows zur Orchestrierung der Bestell-Saga: Zahlung abwickeln, Lagerbestand reservieren, Abholaufgabe erstellen; bei Fehlschlag kompensieren.
  1. Veröffentlichung von Domänenereignissen (Domain Events) in den Pub/Sub-Themen orders und inventory für nachgelagerte Konsumenten (Analytics, Filialbenachrichtigungen).
  1. Auslösung von Filialbenachrichtigungen über Eventarc an einen Cloud Run-Benachrichtigungsdienst bei relevanten Änderungen in Cloud Storage und Firestore.
  1. Verarbeitung von Webhooks des Zahlungsanbieters mit einem dedizierten Cloud Run-Endpunkt, der von API Gateway vorgeschaltet ist, HMAC-Signaturen verifiziert und Cloud Tasks für die Verarbeitung nutzt.
  1. Durchsetzung von Zuverlässigkeitsmustern: Circuit Breaker in Apigee oder Envoy für ausgehende Anrufe an den Zahlungsanbieter; Client-Timeouts unterhalb der Provider-SLAs festlegen; Wiederholungsversuche mit Truncated Exponential Backoff für 429/5xx-Fehler.
  1. Einführung von Kontrollen für die Schema-Evolution: Protobuf für internes gRPC mit reservierten Feldern; REST-Antworten verwenden additive JSON-Änderungen; Pub/Sub nutzt die Protobuf-Schemavalidierung zur Zeit der Veröffentlichung.
  1. Beobachten und Betreiben: Weitergabe von Trace-Headern zwischen API Gateway und Diensten; Export von Cloud Logging-Metriken für Fehlerraten und DLQ-Größe; Alarmierung bei SLO-Burn und Anomalien bei 429/5xx-Fehlern.

Compute · Alle Domänen · Anwendungsdaten

Diese Fragen üben → · Zeitlich begrenzte Übung auf ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Bestehe deine Prüfung →

Google durchsuchen →

Related guides

All-in-One Zugang

Ein Abonnement. Jede Prüfung.

Jeder Plan schaltet unbegrenzte Antwortsuche, Übungstests, KI-Erklärungen und die vollständige Ressourcenbibliothek frei – in über 20 Sprachen.

Monatlich
24.87
Just €0.83/day
Alles inklusive:
  • Unbegrenzte Antwortsuche
  • Unbegrenzte Übungstests
  • KI-gestützte Erklärungen
  • Vollständige Ressourcenbibliothek
  • Über 20 Sprachen
  • Wöchentliche Inhaltsaktualisierungen
  • Belohnungen & Empfehlungen
  • Priorisierter Support
Kostenlose Testphase starten

Keine Kreditkarte erforderlich*

Bestes Preis-Leistungs-Verhältnis
12 Monate
179.87
Just €0.49/daySave 40%
Alles inklusive:
  • Unbegrenzte Antwortsuche
  • Unbegrenzte Übungstests
  • KI-gestützte Erklärungen
  • Vollständige Ressourcenbibliothek
  • Über 20 Sprachen
  • Wöchentliche Inhaltsaktualisierungen
  • Belohnungen & Empfehlungen
  • Priorisierter Support
Kostenlose Testphase starten

Keine Kreditkarte erforderlich*

✓ Kostenloser Plan enthalten · ✓ Jederzeit kündbar · ✓ Alle Pläne schalten das vollständige Produkt frei