[Architecture] gestion des accès simultanés
Bonjour,
Je commence par poser le contexte...
J'ai une application répartie sur plusieurs postes et une base de donnée PostGreSQL qui regroupe les données de l'application.
L'architecture de l'application se présente ainsi :
Un ou plusieurs "clients" vont servir à paramétrer un job. Les données sont déposées sur la BDD. Différents modules de calculs répartis sur le réseau vont "écouter" la BDD et vérifier si ils peuvent éxécuter la totalité ou une partie d'un job.
Le système est au stade de l'architecture et mes connaissances en Base de données sont assez pauvres !!!
Ma question se pose sur la gestion d'éxécution des modules. En effet, si rien n'est prévu, un module va lire dans la table si un job est à éxécuter en (par exemple) venant lire une variable et vérifier dans un autre champ si le job n'est pas déjà en cours.
Mais comment vérifier si un autre module n'est pas déjà en train de réaliser la même opération ?
y a t'il un mécanisme dans la base pour éviter à plusieurs modules de lire un même champ en même temps ? Je comparerais cela au mécanisme de Mutex sur une instruction.
En espérant avoir été assez clair et en vous remerçiant par avance pour les réponses,
Cdt.