Software Gestionale

Spanner queues in GA: messaggistica transazionale nativa per l'automazione agentic

Google Cloud lancia in versione GA Spanner queues: una soluzione di messaggistica transazionale integrata direttamente in Spanner, pensata per garantire l'esecuzione esattamente-una-volta dei workflow automatizzati e degli agenti AI.

Rappresentazione astratta di un flusso di messaggistica transazionale per automazione su Google Cloud

Google Cloud ha annunciato la disponibilità generale (GA) di Spanner queues, una nuova funzionalità di messaggistica transazionale integrata direttamente nel database Spanner. La novità è pensata per supportare l'esecuzione affidabile dei workflow automatizzati e degli agenti AI, risolvendo uno dei problemi più insidiosi dello sviluppo di sistemi agentic: la coerenza transazionale tra lo stato del database e le azioni asincrone.

Rappresentazione astratta di un flusso di messaggistica transazionale per automazione su Google Cloud

Il problema della consistenza nei workflow automatizzati

Gli agenti AI non si limitano più a rispondere a query: possono emettere rimborsi, gestire l'inventario, eseguire passaggi multi-step e orchestrare sott-agenti. Questi flussi di lavoro complessi richiedono spesso che gli agenti mantengano uno stato interno in un database operativo mentre inviano azioni asincrone attraverso un sistema di messaggistica separato. Il risultato? Gestire due sistemi con punti di commit disgiunti distrugge la coerenza transazionale nei sistemi agentic.

Quando un database registra con successo un aggiornamento di stato ma l'invio dell'azione fallisce, il tuo agente AI decide di agire senza eseguire. Se invece l'invio del messaggio ha successo ma la transazione di stato viene annullata, l'agente esegue un'azione basata su uno stato non valido.

Con Spanner queues, creare un messaggio è semplicemente un'altra scrittura nella tua transazione: la modifica dello stato di un agente e le azioni downstream previste vengono registrate insieme in modo atomico o falliscono completamente.

Come funziona: decidere ed agire in una singola transazione

Quando un agente decide di approvare un rimborso, aggiorna la tabella Orders e invia un task di esecuzione alla coda OrderAgentTasks all'interno di una singola transazione ACID. Questo garantisce che il task EXECUTE_REFUND esista se e solo se lo stato dell'ordine è passato correttamente a REFUND_APPROVED.

Le capacità chiave introdotte da Spanner queues includono:

  • Decidi ed esegui atomicamente: all'interno di una singola transazione di lettura-scrittura, gli agenti possono aggiornare la memoria o le tabelle di stato e accodare task per agenti peer simultaneamente.
  • Esecuzione programmata e ritardi: i messaggi della coda possono essere inviati immediatamente al commit o programmati per la consegna futura. Pattern agentic come ritentativi differiti, check-in programmati o timer di escalation SLA possono essere accodati in modo transazionale senza cron scheduler esterni.
  • Streaming SQL pull per i worker degli agenti: gli agenti autonomi consumano i task dinamicamente utilizzando letture SQL in streaming, processandoli man mano che diventa disponibile capacità e riconoscendo il completamento del task all'interno di una transazione.
  • Persistenza della memoria episodica e passaggi di consegne: gli aggiornamenti della memoria dell'agente, inclusi riepiloghi a lungo termine e transizioni di stato riflessive, possono essere persistiti in modo asincrono e transazionale tramite code.

Perché Spanner queues è essenziale per gli agenti autonomi

La soluzione garantisce un'esecuzione esattamente-una-volta degli agenti: quando un agente valuta i risultati delle chiamate agli strumenti, le modifiche di stato, la persistenza del ragionamento e i task di invocazione degli strumenti downstream vengono salvati in una singola transazione. Viene garantita la consegna almeno-una-volta e l'ACK al più una-volta, permettendo di raggiungere l'elaborazione esattamente-una-volta.

Altre funzionalità includono la gestione nativa dei timeout e dei flussi di lavoro human-in-the-loop, con la possibilità di registrare lo stato di approvazione pendente e programmare un messaggio di escalation automatizzato, risolvendo whichever trigger per primo.

Oltre i flussi di lavoro agentic

Oltre agli agenti AI, Spanner queues funge da piattaforma di messaggistica flessibile per varie architetture event-driven tradizionali: feed di attività in tempo reale nelle applicazioni social, aggiornamenti live nella pubblicazione di notizie, orchestrazione dell'elaborazione degli ordini e dell'inventario nel retail, o elaborazione di task asincroni ad alto throughput e notifiche di eventi transazionali nei servizi finanziari.

Meccanica transazionale sotto il cofano

Perché Spanner queues è rappresentato come strutture relazionali di prima classe in Spanner, puoi definire, ispezionare e gestire le code utilizzando GoogleSQL familiare. I worker downstream consumano i task utilizzando la funzione TVF RECEIVE_ su una connessione SQL in streaming, con Spanner che gestisce automaticamente i lease dei messaggi, restituendo un unique SpannerLeaseToken e un timestamp di scadenza per ogni task in lease.

Spanner change streams vs Spanner queues

Mentre entrambi permettono alle applicazioni di reagire ai cambiamenti dei dati, Spanner change streams è progettato per il change data capture continuo e lo streaming dei dati verso analytics o storage downstream. In contrasto, Spanner queues è esplicitamente progettato per l'orchestrazione transazionale dei task, supportando lease di messaggi nativi, consegne programmate, pull basato su SQL e acknowledgment atomici all'interno di transazioni di lettura-scrittura.

Per iniziare, Spanner offre una prova gratuita di 90 giorni. Le code sono ora generalmente disponibili e permettono di costruire carichi di lavoro agentic resilienti con esecuzione esattamente-una-volta creando una tabella di coda direttamente nel tuo database Spanner.

Articoli correlati