Il existe un travail par lots. Et plusieurs serveurs peuvent gérer ce travail. Je souhaite uniquement que le travail soit récupéré et traité par l'un des nombreux serveurs pendant une heure précise.
Afin d'atteindre cet objectif, en étudiant le mécanisme de verrouillage global, j'ai découvert la fonction get_lock de mysql.
De plus, comme cela dépend déjà de MySQL, je pense que cette fonction peut être utilisée.
Cependant, ce qui rend les gens méfiants, c'est que lorsqu'ils recherchent des mécanismes de verrouillage globaux, la plupart d'entre eux utilisent Redis, etc., et il est difficile de trouver des cas utilisant get_lock.
Je doute donc que get_lock de MySQL présente des inconvénients.
Ma situation actuelle est que j'utilise déjà MySQL, mais pas Redis.
Alors, puis-je utiliser get_lock de MySQL pour le verrouillage global ? Ou y a-t-il des lacunes dans get_lock de MySQL ?
Cette question a été votée close, mais certaines suggestions pourraient être utiles.
D'après ce que j'ai compris, vous disposez de plusieurs machines traitant le même ensemble de données - vous souhaitez garantir l'exclusivité des éléments de données. Vous semblez envisager un mécanisme de verrouillage consultatif, dans lequel les consommateurs de données doivent rechercher des verrous, puis les créer avant d'utiliser les données. Le verrouillage consultatif ne doit être utilisé qu'en dernier recours :
Veuillez essayer de republier avec les détails des récepteurs de données, des sources de données et des ressources disponibles au lieu de demander s'il s'agit d'une solution appropriée pour un problème non défini.