Ciao, e benvenuto nella quarta puntata della settantanovesima stagione. La volta scorsa, il reparto con il suo numero stabile. Ma un numero stabile devi comunque cercarlo e configurarlo. Oggi il pezzo che ti lascia dimenticare perfino il numero: la rubrica aziendale. Il titolo: la rubrica dell'azienda.
Partiamo dal divario che resta. Il reparto ti dà un numero stabile, molto meglio che inseguire gli indirizzi dei container. Ma un numero è pur sempre una cosa da sapere e da scrivere. Se il reparto database sta al numero dieci punto novantasei punto qualcosa, dovresti incollare quel numero dappertutto, e se mai cambiasse, aggiornarlo dappertutto. Noi vogliamo parlare col reparto per nome, solo database, e non pensare mai al numero.
Ecco allora che il cluster gestisce la sua rubrica aziendale: un servizio dei nomi che mappa i nomi dei reparti ai loro numeri. Tu dici collegami a database, lui cerca database nella rubrica, trova il numero, e ti collega. Il numero non lo tocchi mai, non lo scrivi da nessuna parte: nel tuo codice e nella tua configurazione c'è solo il nome. Questo è trovare un servizio per nome, la scoperta dei servizi. E non è un'idea nuova: è lo stesso sistema dei nomi che fa girare tutta la rete, quello di cui parlammo nella stagione dedicata, dove un nome come un sito diventa un indirizzo. Qui è lo stesso meccanismo, ma ristretto all'interno del cluster, gestito da una rubrica che vive nel cluster e conosce ogni reparto. Il cluster, in piccolo, ha il suo pezzo di quella grande macchina dei nomi, tutto per sé.
Come fa la rubrica a restare aggiornata? Non è un elenco telefonico stampato una volta e poi vecchio il giorno dopo. Osserva il cluster di continuo: ogni volta che un reparto viene creato, rinominato o tolto, la rubrica si aggiorna da sola. Crei un reparto chiamato pagamenti, e un istante dopo pagamenti si risolve nel suo numero, in tutto il cluster, senza nessuna modifica di configurazione da nessuna parte, senza che tu debba dire niente a nessuno. La rubrica è un altro dei nostri cicli: un servizio che osserva i cambiamenti e tiene vere le proprie risposte, momento per momento.
Due parole sui nomi, perché conta nella pratica. I reparti hanno nomi completi, non solo quelli corti, perché una grande azienda ha lo stesso nome corto in divisioni diverse. Il reparto database della divisione vendite e il reparto database della divisione personale sono reparti diversi. Quindi il nome vero è a strati: il nome corto, più in quale divisione sta, più un suffisso che dice questo è un reparto interno di questa azienda. Dalla stessa divisione puoi usare il nome corto, perché lì non c'è ambiguità; da un'altra divisione, scrivi per esteso anche la divisione, per dire esattamente quale database vuoi. È lo stesso motivo per cui la rubrica di una grande azienda non scrive solo contabilità, ma contabilità, terzo piano, sede di Milano: il nome corto da solo non è unico, e più sali di divisione più devi essere preciso.
Diciamo i costi onesti, perché anche la rubrica è una comodità con i suoi modi di rompersi. Primo: è una ricerca prima di ogni chiamata, un piccolo ritardo e una dipendenza; se la rubrica stessa è malata, i nomi smettono di risolversi, e tutto ciò che chiama per nome si pianta, anche se i reparti stanno benissimo. Secondo: le risposte vengono tenute in cache per andare veloci, e una cache può essere vecchia: un reparto si è spostato, ma qualcuno chiama ancora il vecchio numero per qualche secondo, perché la sua copia della rubrica non si è ancora aggiornata. Gran parte dei misteri del tipo il mio servizio non raggiunge l'altro sono in realtà il nome non si è risolto oppure si è risolto in qualcosa di vecchio: un problema di rubrica, non di reparto.
Voglio lasciarti con il riflesso giusto quando un nome non si risolve. La rubrica è uno strato a sé, con una sua salute. Tu chiami un reparto per nome, ma tra il nome e il numero c'è un servizio che fa la ricerca, osserva il cluster per restare aggiornato, e tiene in cache le risposte per andare veloce. Quindi quando un servizio non ne raggiunge un altro, fermati e chiediti prima: il nome si è risolto in un numero? Se no, il problema è la rubrica, non il reparto: il nome è sbagliato, o manca la divisione, o la rubrica è malata, o la risposta è vecchia in cache. Separare il nome dal numero, la rubrica dal reparto, è il primo taglio che fa un buon diagnostico di rete in un cluster.
Per oggi ci fermiamo qui. Abbiamo visto il divario tra avere un numero stabile e doverlo comunque conoscere; la rubrica aziendale che mappa i nomi ai numeri, cioè trovare un reparto per nome; il ciclo che la tiene aggiornata osservando il cluster; i nomi a strati, con la divisione e il suffisso; e i costi onesti, la ricerca in più, la dipendenza, e la cache che invecchia. Nella prossima puntata: il centralino che riscrive le regole. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.