Иногда происходит сбой загрузки Amazon S3?

Мы только что добавили средство автообновления в наше программное обеспечение и получили отчет об ошибке, в котором говорится что автообновление не завершится должным образом, поскольку контрольная сумма sha1 загруженного файла не совпадает. Мы размещены на Amazon S3 ...

Это либо что-то не так с моим кодом, либо что-то не так с S3.

Я перечитал свой код на предмет подозрительных вещей и написал простой скрипт, загружающий и проверяющий контрольную сумму загруженного файла, и действительно иногда получал несколько ошибок (1 из 40 вчера). Сегодня вроде нормально.

Были ли у вас проблемы такого рода? Есть ли какое-то обходное решение?

доп. информация: тест проводился в Японии.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
6
0
8 900
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Ответ принят как подходящий

Кроме простоя несколько недель назад. Ничего из того, о чем я слышал. Они проделали хорошую работу, учитывая, что однажды он не работал из-за неясной ошибки сервера, которая каскадно распространилась по всему облаку. Они были очень открыты по этому поводу и разрешили его, как только узнали (это произошло на выходных, iirc).

Так что они довольно надежны. Мой совет - дважды проверьте свой код. И обратитесь в службу поддержки Amazon, если проблема не исчезнет.

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

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

Больше, чем отправка неверных данных, я думаю, что получил ERROR403. Если я просто попробую еще раз, это нормально.

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

В любом случае, спасибо! Я последую твоему совету и перестану обвинять «другого парня».

Иногда я получаю неожиданные ошибки 404 с объектами GET, которые являются частью предыдущего СПИСКА, но являются новыми для корзины, и другим разным. ошибки (например: 403 на моем идентификаторе доступа и секретном ключе), но ничего катастрофического.

Мой код работает на стороне сервера, поэтому я добавил надежную обработку ошибок и ведение журнала. Я думаю, что это мудрый поступок, если любое время у вас есть один сервер в сети, обменивающийся данными с другим сервером. :П

Amazon S3 иногда дает сбой с ошибками во время загрузки или выгрузки - обычно с ошибками «500: Internal Server». Частота ошибок обычно довольно низкая, но может резко возрасти, если служба находится под большой нагрузкой. Частота ошибок никогда не равна 0%, поэтому даже в лучшем случае случайный запрос не удастся.

Вы проверяете код ответа HTTP в своем автообновлении? В противном случае вы должны убедиться, что загрузка прошла успешно (HTTP 200), прежде чем выполнять контрольную сумму. В идеале ваше приложение должно повторять неудачные загрузки, потому что временные ошибки - это неизбежная «особенность» S3, с которой клиенты должны иметь дело.

Стоит отметить, что если ваши клиенты получают 500 ошибок, вы, вероятно, не увидите никаких свидетельств этого в журналах сервера S3. Кажется, что эти ошибки возникают до того, как запрос достигает компонента ведения журнала службы.

Ни разу не слышал о проблеме во время загрузки. Это странно. При загрузке я получаю ТОННЫ из 500 сообщений об ошибках внутреннего сервера. Вот почему у меня есть демон, который загружается, пока пользователь делает что-то еще.

Кажется, что в вашем коде что-то не так, возможно, что-то действительно не так с S3 (или с S3-> Japan.)

Вы можете попробовать запустить сервер EC2 и просто запустить тест оттуда (трафик не будет стоить никаких денег, поэтому используйте столько, сколько хотите!) И посмотрите, не возникнут ли ошибки. Если да, то вам не повезло, и S3 не для вас :)

Удачи!

хорошо, это все немного устарело, но для справки. Я только что выполнял перенос данных нескольких гигабайт данных с сервера EC2 прямо в s3. Я получаю 500 ошибок примерно каждые 10 минут, что составляет около 1% от PUT. Так что да, у S3 есть проблема с 500 ошибками.

Однако не слишком много сделал для GET, поэтому не могу комментировать

Другие вопросы по теме