Redis-распределённая-транзакция
В крупных играх часто используют распределённые системы, в которых из-за игровой логики часто возникают игровые транзакции. Благодаря особенностям Redis мы можем реализовать распределённую блокировку и распределённую транзакцию. Многие Redis-кластеры не поддерживают функцию транзакций Redis.
Этот фреймворк используется для решения проблемы с отказом распределённых транзакций в кластере Redis. Он основан на распределённой блокировке и позволяет выполнять распределённые транзакции. Поддерживает эксклюзивные блокировки, общие блокировки, блокировки чтения-записи, а также поддерживает откат операций при неудачной попытке фиксации транзакции, что даёт разработчикам больше времени на реализацию игровой логики.
Пример использования эксклюзивной блокировки
Пример использования блокировки чтения
Пример использования метки блокировки
Можно обратиться к тесту для настройки успешной операции чтения по умолчанию.
Пример использования записи
Пример использования чтения
Пример принудительной записи
Можно обратиться к тесту для настройки задержки использования блокировки.
Если блокировка существует, она будет занимать время.
Пример:
Пример блокировки записи с указанием времени
Можно обратиться к тесту для настройки блокировки с указанием времени.
Когда блокировка существует, она будет занимать время.
Пример:
Пример ожидания блокировки записи
Можно обратиться к тесту для проверки ожидания.
При неудачной блокировке система будет пытаться проверять блокировку каждую секунду до истечения установленного времени ожидания.
Пример:
Пример отката транзакции с блокировкой записи
Можно обратиться к тесту для отката.
При неудачном завершении транзакции система выполнит откат в соответствии с прогрессом фиксации.
Пример:
Фреймворк уже интегрирован с Spring и Redis-кластером.
Код развёртывается через Maven.
Эта структура была успешно использована в двухлетней разработке проекта мобильной игры с миллиардами DAU (уникальных пользователей в день), где она показала стабильную работу.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )