Gibt es bekannte Best Practices zum Synchronisieren von Aufgaben in einer Serverfarm? Zum Beispiel, wenn ich eine forumbasierte Website habe, die auf einer Serverfarm läuft, und es gibt zwei Moderatoren, die versuchen, etwas zu tun, was das Schreiben in mehrere Tabellen in der Datenbank erfordert, und die Anforderungen dieser Moderatoren werden von verschiedenen Servern auf dem Server gehandhabt Farm, wie kann man einige Sperrfunktionen implementieren, um sicherzustellen, dass sie diese Aktion nicht gleichzeitig auf demselben Objekt ausführen können?Wie wird das Sperren in einer Serverfarm implementiert?
Bisher Ich denke an eine Tabelle in der Datenbank zu synchronisieren, z.B. Überprüfen Sie die ID des Elements in der Tabelle, wenn sie nicht vorhanden ist, fügen Sie sie ein und fahren Sie fort, andernfalls kehren Sie zurück. Wahrscheinlich könnte auch ein geteilter Cache dafür verwendet werden, aber ich benutze dies momentan nicht.
Irgendein anderer Weg?
By the way, ich bin mit MySQL als meine Datenbank-Backend.
Es gibt mehrere Anfragen, die versuchen, gleichzeitig auf den Datenbankserver zuzugreifen. Dass sie sich auf einem anderen Server befinden, ändert sich nicht wirklich. – jfclavette
OK, aber sie wirken sich gleichzeitig auf mehrere Datensätze aus. Ich möchte nicht, dass eine andere Anforderung dieselben Datensätze betrifft, während die erste Anforderung noch aktiv ist.In einfachen Worten, ich möchte etwas wie das Lock-Schlüsselwort in C# haben, möchte es aber auf eine verteilte Weise funktionieren. –