Descrizione
Avvia il workflow ogni volta che arriva un messaggio su un topic Apache Kafka. Il runtime apre un consumer con consumer group e commit dell'offset: ideale per pipeline event-driven ad alto throughput dove più servizi pubblicano eventi su un log distribuito e il workflow li elabora. Differenza con i sibling: trigger_rabbitmq = work queue con ack per-messaggio e requeue; trigger_kafka = log distribuito partizionato con offset e consumer group (scalabilità orizzontale, replay dal passato); trigger_websocket = stream push; trigger_webhook = HTTP in ingresso. Scegli Kafka quando hai grandi volumi di eventi, più consumer che devono scalare in parallelo, o vuoi poter rileggere lo storico. Consumer group: il "Group ID" identifica il gruppo di consumer che si spartiscono le partizioni del topic. Più container/istanze con lo STESSO group id scalano il consumo in parallelo (ognuno prende un sottoinsieme di partizioni). Lascialo vuoto per un id dedicato a questo workflow. Consegna at-least-once: l'offset viene committato SOLO dopo che il run è partito con successo. Se il run fallisce, l'offset non avanza e il messaggio viene ri-consumato: nessun evento perso su un crash. "Leggi dall'inizio" ricomincia dall'offset più vecchio disponibile (utile per un backfill iniziale); di default riparte dall'ultimo offset committato del gruppo. Sicurezza: TLS (ssl) e autenticazione SASL (PLAIN o SCRAM-SHA-256/512) per i cluster gestiti (Confluent Cloud, AWS MSK, Aiven, Redpanda). Usa le espressioni {{secrets.X}} per non incollare le credenziali in chiaro nel nodo. Output per ogni messaggio: { data } = payload parsato JSON quando possibile (altrimenti stringa), { raw } = testo originale, { topic }, { partition }, { receivedAt }. Con "JSON Pointer di filtro" processi solo i messaggi che hanno un certo campo. Use case: (1) eventi di dominio da microservizi → proiezione su DB/CRM, (2) click/telemetria ad alto volume → aggregazione → alert, (3) change-data-capture (Debezium) → sync verso sistemi esterni, (4) pipeline di elaborazione ordini con replay in caso di errore.
