1

умные люди, нуб тут!

Я планирую создать многопользовательское устройство на s3 для хранения фотографий / объектов, и я планировал использовать s3. Я спланировал весь интерфейс, но у меня есть вопрос по поводу системы ковшей.

Должен ли я иметь одну корзину, содержащую каждого пользователя, или, вернее, 4-5 групп с распределенными между ними пользователями, или я должен иметь 1 корзину для каждого пользователя?

Каждый пользователь будет хранить в среднем около 35 ГБ в качестве примера, и я хочу, чтобы в будущем он мог бесперебойно работать с 3 пользователями до 300 000 000 (настолько масштабируемыми, насколько это возможно)

Какой метод выбрать, и что делал Dropbox в течение S3 дней?

1 ответ1

1

Вам определенно не нужно ведро для каждого пользователя. Не берите в голову тот факт, что кажется очень маловероятным, что поддержка AWS утвердит запрос на увеличение общего лимита корзины вашего аккаунта по умолчанию со 100 до 300 000 000. Кроме того, первоначальное создание сегмента не предназначено для агрессивного или реального времени.

Технология высокой доступности Amazon S3 сфокусирована на операциях get, put, list и delete. Поскольку операции с сегментами работают с централизованным глобальным пространством ресурсов, нецелесообразно создавать или удалять сегменты в пути кода высокой доступности вашего приложения. Лучше создавать или удалять сегменты в отдельной подпрограмме инициализации или настройки, которую вы запускаете реже.

http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html

Создайте свое приложение так, чтобы не имело значения, используете ли вы одно ведро или несколько. Как? Для каждого пользователя сохраните bucket_id, в котором хранятся данные этого пользователя. Затем начните со всех в bucket_id 1, а затем у вас появится возможность помещать новых пользователей в новые сегменты, если в этом возникнет необходимость ... или если вы решите перенести некоторых пользователей в другие сегменты ... или если вы решите расположить пользователей " хранение в ведре ближе к типичному местоположению пользователя.

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

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

См. Http://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html.

По той же причине не давайте своим контейнерам лексически последовательных имен в пределах региона.


То, что, возможно, делал Dropbox, вероятно, не имеет значения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .