2017-02-14 15 views
-1

Я сохраняю свои файлы на S3, к которым обращаются из кода JAVA, помещенного в EC2.
Эти файлы необходимо обновлять часто.
Так что мой вопрос, как обновляются эти файлы и поддерживать высокую доступность Как обновить файлы в AWS S3, поддерживая высокую доступность

ответ

2

Я понимаю, что у вас есть файлы, которые изменены изо дня в день, а затем загружены в S3.

  1. Вы можете продолжать делать это и загружать файлы на S3 из вашего Java приложения и AWS автоматически поддерживает высокую доступность в нескольких зонах доступности и вам не нужно беспокоиться о потере данных.

  2. Предположим, у вас есть файл abc.html, который вы загрузили на S3. В следующий раз, когда вы измените файл и загрузите его на S3, AWS перезапишет/заменит этот файл, и у вас будет последний контент в этом файле.

  3. В случае, если вы хотите поддерживать разные версии одного и того же файла, вы можете продолжить использование версий AWS S3. Вы можете прочитать больше о том, что здесь: http://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html

Кроме того, так как вы используете S3 вы можете использовать AWS S3 ускорение для более быстрого доступа к файлам в приложении: http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html

+0

Когда я обновляю файл let say abc.html, в то же время есть запрос на чтение содержимого. Будет ли какая-либо блокировка или S3 позволит ему читать, а на заднем плане S3 создаст новый файл, и как только запись файла будет завершена, S3 начнет указывать последний файл, а дальнейший запрос на чтение получит доступ к последнему файлу. –

+0

Да. Новая версия, если вы загружаете с тем же именем, заменяет старый файл в порядке? но до момента, когда новое содержимое файла не будет реплицировано по всем AZ, оно не читается. Таким образом, запрос на чтение по-прежнему будет отправляться в старый файл, а затем последующие запросы перейдут в новый файл. Надеюсь, я ответил на ваши вопросы. @AnkurGupta –

+0

Отлично, выглядит удовлетворительным. благодаря –

0

S3 обеспечивает read-after-write consistency for PUT operations of new objects, и в конечном итоге согласованность для перезаписывания PUT и DELETE. Если вам нужна постоянная запись после записи для перезаписывания и удаления, вы можете сохранить все объекты в S3 в качестве новых элементов, привязать их к SHA256 содержимого и сопоставить ключи SHA256 с нужными путями в DynamoDB. AWS EMRFS на S3 использует DynamoDB для метаданных с их функцией Consistent View.