Maison  >  Questions et réponses  >  le corps du texte

Puis-je utiliser la fonction intégrée get_lock de MySQL ?

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 ?

P粉875565683P粉875565683369 Il y a quelques jours585

répondre à tous(1)je répondrai

  • P粉156532706

    P粉1565327062023-09-16 12:58:12

    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 :

    • Les clients de données doivent explicitement adhérer au mécanisme de verrouillage. À mesure que les systèmes deviennent plus complexes, il devient de plus en plus probable que quelqu'un ait écrit du code qui ne parvient pas à utiliser le mécanisme de verrouillage comme tout le reste. Ensuite, il y aura des problèmes
    • Le verrouillage consultatif entraîne le remplacement de l'état - l'état de verrouillage est enregistré dans un emplacement différent de celui de l'opération qui nécessite le verrouillage. Vous êtes maintenant dans le domaine du théorème CAP

    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.

    répondre
    0
  • Annulerrépondre