Ho un set di repliche composto da 5 membri: primario + arbitro sul server 1, secondario + arbitro sul server 2, secondario nascosto (nodo di backup) sul server 3. Mi aspetto che questa configurazione funzioni se un server si arresta o perde temporaneamente la connettività.La connessione al set di repliche MongoDB richiede un minuto + in PHP quando un secondario non è raggiungibile
Tuttavia, quando il server 2 è andato giù (quello con i nodi secondario + arbitro), ho riscontrato un problema strano. Qualsiasi connessione al set di repliche di PHP richiedeva più di un minuto. Ho provato a modificare la stringa di connessione per escludere il server che era inattivo (nodo secondario) da esso, ma non ha aiutato.
Allo stesso tempo, la connessione tramite la console mongo funzionava bene. Il nodo primario rimaneva primario. Il registro degli errori di PHP non conteneva errori.
L'unica cosa che ha aiutato è stata la rimozione dei nodi sul server che è andato giù dal set di repliche.
Tuttavia, ora sono preoccupato per il failover della configurazione. Come ora mi rendo conto, se il server con nodi secondari + arbitro cesserà di funzionare, l'intera configurazione smetterà di funzionare correttamente. C'è un modo per evitarlo? Ho bisogno che il client PHP sia in grado di connettersi al primario indipendentemente dal fatto che il server secondario + arbitro sia disponibile o meno. Come raggiungerlo?
La versione della libreria client PHP mongo è 1.6.x, la versione del server è 3.0.
La configurazione comprende 5 membri votanti. I server 1 e 2 hanno 2 membri votanti ciascuno, il server 3 ha 1 membro votante. Quando il server 2 non funziona, abbiamo ancora la maggioranza dei voti online. – mephisto123