Ab sgcWebSockets 4.3.6 wird die Google Cloud Pub/Sub API unterstützt.
Pub/Sub bringt die Flexibilität und Zuverlässigkeit nachrichtenorientierter Enterprise-Middleware in die Cloud. Gleichzeitig ist Pub/Sub ein skalierbares, dauerhaftes Event-Ingestion- und Delivery-System, das als Grundlage moderner Stream-Analytics-Pipelines dient. Durch many-to-many, asynchrones Messaging, das Sender und Empfänger entkoppelt, ermöglicht es sichere und hochverfügbare Kommunikation zwischen unabhängig entwickelten Anwendungen. Pub/Sub liefert dauerhaftes Messaging mit niedriger Latenz und hilft Entwicklern, Systeme auf der Google Cloud Platform und extern schnell zu integrieren.
Häufige Anwendungsfälle
- Lastenverteilung in Netzwerk-Clustern. Beispielsweise lässt sich eine große Task-Queue effizient auf mehrere Worker verteilen, etwa auf Google Compute Engine-Instanzen.
- Asynchrone Workflows umsetzen. Eine Bestellabwicklungs-Anwendung kann z. B. eine Bestellung in einem Topic platzieren, von dem aus sie von einem oder mehreren Workern verarbeitet wird.
- Verteilung von Event-Benachrichtigungen. Ein Service, der Nutzerregistrierungen entgegennimmt, kann bei jeder Neuanmeldung Benachrichtigungen senden; Downstream-Services abonnieren diese Events.
- Verteilte Caches aktualisieren. Eine Anwendung kann Invalidierungs-Events publishen, um IDs geänderter Objekte zu aktualisieren.
- Logging in mehrere Systeme. Eine Google Compute Engine-Instanz kann Logs an das Monitoring-System schreiben, in eine Datenbank zur späteren Abfrage und so weiter.
- Datenstreaming aus verschiedenen Prozessen oder Geräten. Ein Sensor zuhause kann Daten an in der Cloud gehostete Backend-Server streamen.
- Verbesserung der Zuverlässigkeit. Ein Single-Zone-Compute-Engine-Service kann in zusätzlichen Zonen laufen, indem er ein gemeinsames Topic abonniert, um Ausfälle in einer Zone oder Region zu überstehen.
Delphi-/C++ Builder-Komponente
Die sgcWebSockets Google Cloud Pub/Sub-Komponente nutzt die REST-API zur Verbindung mit der Google API. Unten ein Beispiel, wie ein neues Topic erstellt wird.
//Create a new topic for project with id: pubsub-270909 and topic name topic-1.
oPubSub := TsgcHTTPGoogleCloud_PubSub_Client.Create(nil);
oPubSub.GoogleCloudOptions.OAuth2.ClientId := '... your google client id...';
oPubSub.GoogleCloudOptions.OAuth2.ClientSecret := '... your google client secret...';
oPubSub.CreateTopic('pubsub-270909', 'topic-1');
//Response from Server
{
"name": "projects/pubsub-270909/topics/topic-1"
}
