Я перемещаю свой Java, Tomcat, сервер Mysql к AWS EC2.
Я уже присоединил объем EBS для того, чтобы хранить данные MySql. В моем веб-приложении люди могут загрузить изображения. Таким образом, я должен сохранить их. В моем уме существует 2 альтернативы:
followings являются моими примечаниями, быть скептиком о них, поскольку мои экспертные знания не находятся на серверах, но разработке программного обеспечения.
EBS плюс: устройство хранения данных S3 является более дорогим. ($0,15 / Гбит> $0,1 / Гбит)
S3 плюс: Обслуживание помех от EBS может влиять на производительность моего веб-сервера негативно. Действительно ли это верно? Обслуживание изображений влияет на производительность сервера особенно? Для S3 мой сервер не будет ответственен за обслуживание помех.
S3 плюс: Обслуживание помех от EBS может закончиться стоимость ввода-вывода, вероятно, это будет незначительно.
EBS плюс: Люди говорят, что EBS быстрее.
S3 плюс: Люди говорят, что S3 более безопасен для персистентности.
EBS плюс: Никакая потребность изучить API, это является прямым для сохранения образов к объему EBS.
А именно, я не могу решить, будет счастливо, если Вы будете вести.
Спасибо
В настоящее время я использую S3 для проекта, и он работает очень хорошо.
EBS означает, что вам нужно управлять томом + машины, к которым он будет подключен. Вам нужно добавлять пространство по мере его заполнения и выполнять резервное копирование (не говоря уже о том, что вы не должны создавать резервные копии данных S3, просто это не так критично).
Это также затрудняет масштабирование: когда вы хотите добавить дополнительные машины, вам нужно либо перенести изображения на отдельную машину, либо клонировать изображения на всех. Это также означает, что вы добавляете узкое место: вам придется управлять своим собственным процессом загрузки, который будет либо загружать на все машины, либо управлять им с одной машины.
Рекомендую S3: поставил и забыл. Любое количество машин может выполнять загрузку параллельно, и вам действительно не нужно уведомлять другие машины о загрузке.
Кроме того, вы можете использовать Amazon Cloudfront в качестве дешевой CDN перед изображениями вместо прямой загрузки с S3.
Вы уже обозначили преимущества и недостатки обоих.
Если вы планируете хранить терабайты изображений, и требования к хранилищу увеличиваются день ото дня, S3 , вероятно, будет вашим лучшим выбором, поскольку он создан специально для таких ситуаций. Вы получаете неограниченное пространство для хранения, не беспокоясь о сегментировании данных на многих EBS томах.
Периодические затраты на S3 заключаются в том, что он на 50% дороже, чем EBS. Вам также придется изучить API и реализовать его в своем приложении, но это единовременные расходы, которые, я думаю, вы сможете покрыть очень быстро.