Abbiamo bisogno di organizzare un modo per scambiare messaggi tra server in più data center. I messaggi non sono critici. Dobbiamo solo essere in grado di inviare messaggi da qualsiasi server in qualsiasi data center a qualsiasi altro server in qualsiasi data center.
Stiamo pensando di utilizzare Kafka come broker di messaggi per questo caso d'uso, ma non siamo sicuri che sia una buona opzione.
Come abbiamo capito, Kafka non funzionerà normalmente se il cluster è distribuito tra più data center (perché deve funzionare con Zookeeper, che è più simile a una singola soluzione di data center). Pensiamo di utilizzare cluster separati in ogni data center. Ogni server deve avere una connessione a tutti i cluster Kafka in tutti i data center. Ecco perché qualsiasi server può inviare un messaggio a qualsiasi altro server in qualsiasi data center.
Quindi, ogni server avrà connessioni n . Il numero totale di tutte le connessioni sarà: n * m , dove n - è il numero totale di data center e m è il numero totale dei server.
È possibile ridurre il numero totale di connessioni a m ? Cioè che tutti i server sarebbero collegati solo ai cluster Kafka locali.