Couchdb docs 11.2 fournit un exemple de configuration du cluster de:
[cluster]
q=8
r=2
w=2
n=3
q - Le nombre de tessons.
r - Le nombre de copies d'un document avec la même révision qui doit être lu avant que CouchDB ne revienne avec un 200 et le document. Si une seule copie du document est accessible, celle-ci est retournée avec 200.
w - Le nombre de nœuds qui doivent enregistrer un document avant qu'une écriture ne soit renvoyée avec 201. Si les nœuds enregistrant le document sont 0 202 est renvoyé.
n - Le nombre de copies de chaque document. Les répliques.
Le comportement de votre 3 réplique de la pièce doit être équivalente à:
[cluster]
q=1
r=1
w=1
n=3
lors de la réplication correctement. Ceci est une configuration possible du regroupement, mais pas optimale car il manque:
au profit de la confirmation que plusieurs noeuds et la majorité des noeuds ont confirmé une sauvegarde avant qu'il ne soit reconnu.
l'avantage de la confirmation que plusieurs nœuds et une majorité de nœuds ont confirmé qu'une révision est correcte avant d'être renvoyée.
Extension de la base de données au-delà du stockage d'un seul noeud via sharding.
La possibilité de passer à toute configuration équivalente aux paramètres de cluster avec q, r ou w> 1 sans passer à un cluster.
Indirectement, les limites sur les accusés de réception rendent les conflits potentiels pour résoudre entre les répliques si les répliques sont effectivement utilisées pour l'évolutivité du réseau et une plus grande probabilité une incohérence réelle sous forme de dossiers perdus si un nœud échoue entre la reconnaissance un sauvegarder et le transmettre aux autres répliques.
Merci pour votre réponse. Actuellement, j'utilise déjà un cluster pour mes 3 nœuds. La raison pour laquelle je voudrais essayer de passer à une réplication simple serait comme vous l'avez dit, la facilité de configuration. J'utilise des conteneurs docker pour faire fonctionner les clusters, et de temps en temps certains problèmes se posent comme si les cookies erlang étaient désynchronisés. Avoir un cluster me force également à créer un quatrième serveur qui est utilisé pour sauvegarder ma base de données. Fondamentalement, ma question est, y at-il un inconvénient (performance, plus de données corrompues, etc.) pour exécuter une réplique à 3 nœuds simple. – romainrbr