Ciao, e benvenuto nell'ottava puntata della settantacinquesima stagione. Abbiamo capito gli eventi, il disaccoppiamento, il pubblicare e sottoscrivere, il costo dell'asincrono, l'archivio e il flusso. Oggi scendiamo sul pratico: come progetti un evento fatto bene, per non farti mordere da tutto ciò che la puntata onesta ti ha promesso. Leve concrete, una per una.
Prima leva: quanto dice un fatto, la sua grana. Se l'evento è troppo magro, chi legge deve richiamarti per i dettagli, e hai reinventato la telefonata: un "ordine effettuato" con solo un codice costringe ogni lettore a tornare dal servizio ordini, e lo rilega a chi volevi slegare. Se è troppo grasso, versi i tuoi dettagli interni nell'evento e tutti finiscono per dipenderne. L'equilibrio: nel fatto quello che a un lettore serve davvero per reagire, e niente di più. Il giornale scrive quanto basta perché il lettore capisca la storia senza telefonare in redazione, ma non stampa l'intero taccuino del cronista.
Seconda leva, torniamo alla pietra angolare: dai il nome al passato. Chiama l'evento per ciò che è accaduto, non per ciò che deve accadere: "ordine effettuato", non "elabora ordine". Il nome è la prima riga del contratto, e un nome al passato ti tiene onesto, ti impedisce di contrabbandare un comando in un evento. Se non riesci a chiamarlo comodamente al passato, probabilmente non è un evento.
Terza leva, la più importante: versiona il contratto. La forma dell'evento è una promessa fatta a lettori che non vedi, quindi non la cambi con leggerezza. Aggiungere un campo di solito è sicuro; togliere o rinominare un campo rompe in silenzio i lettori. Tratta lo schema come un'interfaccia pubblica: aggiunte libere, modifiche che rompono solo con una versione nuova e una via di migrazione, e i fatti vecchi sempre leggibili, perché un fatto di cinque anni fa deve ancora aprirsi. È la disciplina verso cui tutta la stagione puntava: se il legame vive nel contratto, difendi il contratto.
Quarta leva, dritta dal costo della consegna doppia: rendi i lettori idempotenti. Siccome lo stesso fatto può arrivare due volte, ogni lettore va costruito per reagire una volta sola anche vedendolo due. Il modo solito: ogni fatto porta un identificatore unico, il lettore ricorda quali ha già gestito e ignora i ripetuti. Vedi due volte, agisci una. Dove si consegna almeno una volta non è un'opzione, è la cintura di sicurezza. In redazione si controlla se la notizia è già uscita prima di ristamparla.
Quinta leva, quella sottile che morde tutti: il problema della doppia scrittura, e la sua cura, la cassetta in uscita. Quando succede qualcosa, il servizio deve fare due cose: salvare il fatto nella propria base di dati e pubblicare l'evento. Se le fai come due passi separati, uno può riuscire e l'altro no: hai salvato l'ordine ma l'evento non è partito, perdita silenziosa, oppure l'evento è partito ma il salvataggio è stato annullato, un fatto mai accaduto. Due sistemi separati non si accordano in un colpo solo. La cura: scrivi l'evento nella tua stessa base di dati, nella stessa transazione del cambiamento, in una tabella "in uscita"; un passo separato la legge e pubblica. Ora c'è una sola scrittura da azzeccare, e la pubblicazione è ricavata da quella. Non lasci che la notizia esista nella testa del direttore ma non nel registro: la segni nel registro, ed è il registro che va in stampa.
Sesta leva: coreografia contro orchestrazione, cioè come si coordinano più reazioni. Quando un fatto scatena una catena, ordine effettuato, poi addebita, spedisci, avvisa, hai due stili. La coreografia: ogni servizio ascolta e reagisce per conto suo, senza un direttore; è la folla che reagisce alla notizia, ognuno la sua parte. Flessibile e slegata, ma nessun posto mostra l'intera danza. L'orchestrazione: un coordinatore dirige i passi, come il caporedattore che assegna lo speciale. Più facile da vedere e cambiare, ma hai rimesso in mezzo un sapiente centrale, e un po' di legame torna. Coreografia per reazioni libere e indipendenti, orchestrazione quando è la sequenza stessa che devi controllare e vedere. E se la catena può fallire a metà, ti serve un modo per disfare: un'azione che compensa, come il giornale che stampa una rettifica.
Nota il filo che lega queste leve: ognuna gestisce il legame spostato. Grana, nome e versione difendono il contratto; idempotenza e cassetta in uscita governano l'edicola e la consegna; coreografia o orchestrazione decide dove vive la conoscenza del flusso. Progettare bene gli eventi è curare, apposta, i fili che la stagione ti aveva detto che avresti tenuto.
Voglio lasciarti con il senso del mestiere. Un evento costa poco a pubblicarlo e tanto a cambiarlo, perché non sai chi ascolta. Progettare eventi è l'arte di fare promesse che puoi mantenere a persone che non incontrerai mai. Nomina il fatto con onestà, dì quanto basta, difendi il contratto, dai per scontato che arrivi due volte, e fai del salvataggio e dell'annuncio un gesto solo. Niente di esotico: è prendere sul serio che un fatto pubblicato è una promessa.
Per oggi ci fermiamo qui. Ho messo giù sei leve: la grana giusta; il nome al passato; il contratto versionato come un'interfaccia pubblica; i lettori idempotenti; la cassetta in uscita, che fonde salvataggio e pubblicazione; e la scelta tra coreografia e orchestrazione. Tutte fanno la stessa cosa: curare il legame spostato, invece di fingere che non ci sia. Nella prossima puntata: non tutto è una notizia. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.