Реализация работы Atomi c с S3 на уровне приложения - PullRequest
0 голосов
/ 18 июня 2020

Я понимаю, что мы ничего не можем поделать с тем, что S3 не поддерживает работу atomi c.

Однако, как лучше всего обеспечить такую ​​операцию atomi c на уровне приложения, как таковое это условие можно смягчить:

enter image description here

На этой диаграмме показаны два процесса, подключенных к S3 с помощью библиотеки. Эти процессы выполняются в контейнере сервлетов. Проблема здесь в том, что у обоих клиентов будет шанс получить проверку ключа, которая говорит о том, что ключ не существует, и в зависимости от того, сколько времени займет процесс блокировки в каждом клиенте, оба будут хранить «факт», что целевой ключ не существует. затем, позже, PUT этот ключ - это основная проблема.

«Client_B» случайно перезаписывает ключ. Как можно смягчить такие инциденты на уровне приложения / сервера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...