Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment StackExchange.Redis utilise-t-il plusieurs points de terminaison et connexions ?

Ce que devrait Il se peut qu'il utilise un certain nombre de choses (en particulier la configuration de réplication définie) pour déterminer qui est le maître, et diriger le trafic vers le serveur approprié (en respectant le paramètre "serveur", qui par défaut est "préférer le maître", mais qui envoie toujours les opérations d'écriture à un maître).

Si une erreur "impossible d'écrire sur un esclave en lecture seule" (je ne me souviens pas du texte exact) est reçue, il essaiera de rétablir la configuration, et devrait basculer automatiquement pour respecter cela. Malheureusement, redis ne diffuse pas les modifications de configuration, la bibliothèque ne peut donc pas les détecter à l'avance.

Notez que si vous utilisez les méthodes de la bibliothèque pour changer de maître, cela peut exploitez pub/sub pour détecter ce changement immédiatement et automatiquement.

Re la deuxième connexion :ce serait pour pub/sub ; il le lance à l'avance, car par défaut, il tente d'écouter les diffusions de configuration spécifiques à la bibliothèque.