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