Comme je l'ai lu dans cet article de blog un esclave éteint ou qui ne répond pas peut provoquer des pannes d'application car le comportement par défaut d'Octopus est d'écrire toutes les données sur le maître et de lire toutes les données des esclaves (car les données écrites sur le maître sont ensuite répliquées sur tous les esclaves connectés). Comme indiqué sur le wiki Octopus, section "Esclaves multiples" la lecture dans un environnement à plusieurs esclaves est effectuée à l'aide de la répétition alternée, de sorte qu'elle récupère toujours les données d'un esclave par défaut.
Également extrait du blog mentionné ci-dessus :en tant que mécanisme de secours, vous devez lire directement les données du maître (en utilisant .using(:master)
) si aucun des nœuds esclaves n'est disponible ou si les données n'ont pas encore été entièrement répliquées sur les esclaves. Il peut également s'agir d'une option pour mettre en cache les modifications/résultats au niveau de l'application pour éviter les lectures répétées à partir des nœuds de la base de données.