« Haute disponibilité » décrit généralement un système spécialement conçu pour réduire les temps d'arrêt tout en maintenant un haut degré de disponibilité de ses services. Nginx peut atteindre une haute disponibilité avec Keepalived et réaliser une sauvegarde à chaud sur deux machines + une commutation automatique Ce type d'opération est relativement courant dans les systèmes de cluster actuels. De plus, la sauvegarde à chaud est réalisée via keepalived et redis, et avec mysql. existe de nombreux cas similaires.
Keepalived est un logiciel gratuit et open source écrit en C similaire au logiciel de mécanisme de commutation des couches 3, 4 et 7. Il possède ce que nous appelons habituellement la couche 3, la couche 4 et les fonctionnalités. de commutateurs de couche 7. Il fournit principalement des fonctions d'équilibrage de charge et de haute disponibilité (haute disponibilité). La mise en œuvre de l'équilibrage de charge repose sur le module de noyau de service virtuel (ipvs) de Linux, et la haute disponibilité réalise les pannes entre plusieurs machines via le protocole VRRP Transfer. Services.
L'image ci-dessus est l'architecture fonctionnelle de Keepalived, qui est grossièrement divisée en deux couches : l'espace utilisateur et l'espace noyau.
Espace noyau : comprend principalement deux parties : IPVS (serveur virtuel IP, utilisé pour réaliser l'équilibrage de charge des services réseau) et NETLINK (fournissant un routage avancé et d'autres fonctions réseau associées).
Espace utilisateur :
WatchDog : État des vérificateurs de surveillance de charge et des processus VRRP
Pile VRRP : Échec du basculement entre les équilibreurs de charge FailOver, si une seule charge l'égaliseur est utilisé, VRRP n'est pas nécessaire.
Vérificateurs : responsables de la vérification de l'état du serveur réel, qui est la fonction principale de keepalived. En d’autres termes, VRRP Stack n’est pas nécessaire, mais une vérification de l’état doit être présente.
Wrapper IPVS : l'utilisateur envoie les règles définies au code ipvs du noyau.
Netlink Reflector : utilisé pour définir l'adresse VIP de vrrp, etc.
Toutes les fonctions de Keepalived sont implémentées en configurant le fichier keepalived.conf.
Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne Tutoriel d'utilisation de Nginx pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!