Trois façons d'implémenter des verrous distribués

1. Utilisez des scénarios de verrous distribués

La même variable est partagée entre différents processus. Pour garantir l'exactitude de la variable partagée, un verrou distribué est nécessaire.

Les systèmes distribués doivent respecter: la cohérence des données, la disponibilité et la tolérance aux pannes des partitions .

En utilisation réelle, aucun système distribué ne peut répondre à la fois à la cohérence, à la disponibilité et à la tolérance aux pannes de partition, et ne peut en satisfaire que deux à la fois. Habituellement, dans la plupart des scénarios, nous sacrifierons une forte cohérence en échange de la haute disponibilité du système . Tant que la cohérence finale peut être garantie, les utilisateurs peuvent toujours l'accepter.

Deuxièmement, quelles sont les exigences pour les verrous distribués

  1. Dans un environnement de système distribué, une méthode ne peut être exécutée que par un thread d'une machine à la fois;
  2. Besoin d'avoir des fonctionnalités réentrantes;
  3. Avec mécanisme d'échec de verrouillage;
  4. Empêcher les impasses;

Trois, trois façons de réaliser

  1. Réaliser un verrou distribué basé sur une base de données
  2. Réaliser un verrou distribué basé sur le cache (Redis, etc.)
  3. Implémenter un verrou distribué basé sur Zookeeper

Je suppose que tu aimes

Origine blog.csdn.net/sinat_34241861/article/details/112298930
conseillé
Classement