PHP & S3: нужно руководство по архитектуре - PullRequest
0 голосов
/ 19 ноября 2011

Я хочу предоставить конечным пользователям моего веб-приложения возможность перетаскивать файлы на странице PHP в приложении и автоматически загружать их в S3 для хранения.Из того, что я смог найти, я бы тогда сохранил «указатели» на файлы S3 в моей базе данных.Может кто-нибудь указать мне примеры / документы или другие, которые могут лучше продемонстрировать, как создать это в моем приложении?Я новичок в S3, поэтому, если есть какие-либо проблемы и / или более эффективные решения для хранения файлов (по дешевке), я весь слух.

Спасибо за ваше время и помощь.

1 Ответ

1 голос
/ 19 ноября 2011

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

Затем, когда вы захотите передать файл кому-либо, вы можете: a)пусть ваше приложение получит файл из S3 и затем предоставит его вашему пользователю, или b) предоставит URL-адрес S3 пользователю, и они смогут сами загрузить его из S3.То, что вы используете, будет зависеть от ваших конкретных требований, но вариант (b), как правило, лучше, поскольку он позволяет Amazon выполнять всю работу по загрузке.(b) даже работает, если у вас есть личные файлы, которые не являются общедоступными (например, загружаемые пакеты), поскольку вы можете предоставить временный доступ с URL-адресами, срок действия которых истекает.

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

...