Как заблокировать строку базы данных на фиксированный интервал времени? - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть две базы данных.Я должен зафиксировать свою транзакцию только тогда, когда обе записи доступны в этих двух базах данных.Для этого я планировал использовать двухфазный аналогичный алгоритм.Но реализация становится несколько хитрой.

Я думал о реализации следующим образом:

  • Я запрашиваю обе базы данных для соответствующих записей и, если доступно, я их блокирую, чтобыдругой пользователь может получить к ним доступ и вернуть успех.
  • Если я получу успех от обоих, я передам их.или же я сниму блокировку, если какая-либо запись заблокирована.

Мне также придется обрабатывать ошибки, поэтому блокировку следует снять после истечения времени ожидания, если явный запрос на освобождение не былотправлено.

Мой вопрос заключается в том, как явно заблокировать строки, чтобы не было одновременного доступа к нескольким клиентам, и есть ли какая-нибудь лучшая реализация, о которой мне следует подумать?Заранее спасибо за помощь.

...