2011-04-28 7 views
3

Je vais lancer une application dans un très proche avenir qui demandera, en partie, aux utilisateurs de télécharger des fichiers (images) pour être consultés par d'autres membres . J'aime l'idée de S3 car elle est relativement bon marché et évolue automatiquement.Utilisation de l'API REST PHP S3 php vs montage du compartiment S3 sur le serveur (s3fs)

Mon problème est de savoir comment les utilisateurs vont télécharger leurs images sur S3. Il semble qu'il y ait quelques options.

1- Utilisez l'API REST php. Le seul problème est que je n'arrive pas à le faire fonctionner pour télécharger des versions à plusieurs échelles (ie des miniatures) de la même image simultanément et les télécharger directement sur s3 (cela ne fonctionne que pour une image à la fois). Dans l'ensemble, cela semble moins flexible.

http://net.tutsplus.com/tutorials/php/how-to-use-amazon-s3-php-to-dynamically-store-and-manage-files-with-ease/

2- L'autre option serait de monter un seau S3 avec s3fs. Ensuite, il suffit de déplacer mes images dans le seau par programme comme je le ferais avec NFS. D'après ce que j'ai lu, il semble que certaines personnes doutent de la fiabilité du montage S3. Est-ce vrai?

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=fuse+over+amazon

Quelle méthode serait mieux pour la fiabilité et la vitesse maximale?

EBS serait-il quelque chose à considérer? Je voudrais vraiment avoir une boîte dédiée plutôt que d'utiliser une instance EC2, cependant ...

+1

Salut minjoon, EBS n'est pas quelque chose à considérer si vous voulez mettre à l'échelle. Considérons EBS comme une clé USB, vous pouvez joindre à un seul hôte, EBS ne fonctionne pas comme NAS ou S3. –

+1

Avez-vous trouvé la meilleure solution minjoon? Je suis au milieu de la même décision de ce qui est une meilleure solution. Bravo –

Répondre

1

Pour votre cas d'utilisation, je recommande d'utiliser l'API S3 directement plutôt que d'utiliser s3fs en raison de ses performances. Rappelez-vous que s3fs est juste une autre couche au-dessus de l'API de S3 et que l'utilisation de cette API n'est pas toujours la meilleure pour votre application.

Pour gérer la création de miniatures, je recommande de découpler cela du processus de téléchargement principal en utilisant Amazon Simple Queue Service. De cette façon, vos utilisateurs recevront une réponse dès qu'un fichier est téléchargé sans avoir à attendre qu'il soit traité, ce qui se traduit par des temps de réponse plus courts. En ce qui concerne l'utilisation d'EBS, il s'agit d'un scénario différent pour ce qui est de l'utilisation de EBS. EBS est juste un stockage persistant pour l'instance Amazon EC2 et sa fiabilité ne se compare pas à S3. Il est également important de garder à l'esprit que S3 offre uniquement une "cohérence finale" par opposition à un disque dur physique sur votre machine ou une instance EBS sur EC2, vous devez donc coder votre application pour la gérer correctement.

+0

Je ne pense pas que s3fs peut être utilisé dans la production. – okwap

Questions connexes