Рейтинг:0

Удалить липкую настройку сеанса с кластеризованной базой данных - дублирование задержки синхронизации?

флаг ec

В настоящее время я пытаюсь удалить настройку своего сервера с помощью «Sticky Sessions» и перейти к настройке с базой данных для хранения сеансов. Вместо одной базы данных (единая точка отказа) мы подумали о том, чтобы иметь реплику Redis на каждом сервере, чтобы все серверы использовали одну и ту же базу данных мастера.

Проблема: что, если 2 запроса будут отправлены одновременно от одного и того же пользователя и попадут в 2 подчиненных базы данных, которые оба выполняют свой код одновременно?

Пример: пользователь покупает ограниченный одноразовый товар. Он отправляет 2 запроса на покупку предмета, и база данных на обоих принимающих серверах думает: «Он не покупал это, так что это можно купить». Теперь у пользователя 2 предмета вместо одного.

Это может случиться, верно? Если серверы не синхронизируют свои данные достаточно быстро, оба сервера могут одновременно выполнить запрос к базе данных?

Или уже есть решение для устранения этой проблемы с прилипанием сеанса?

Спасибо! BR Крис

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.