Como subir un fichero a otro servidor ¿Cómo sería mejor?

Iniciado por dimitrix, 8 Junio 2012, 18:02 PM

0 Miembros y 1 Visitante están viendo este tema.

dimitrix

Vale, os comento un poco. Tengo dos páginas en dos servidores diferentes:

Página 1: www.paginaprincipal.com
Página 2: www.servidorgordo.com

En la página principal (1) tengo una web con un formulario para subir ficheros. Estos ficheros tendrán ser guardados en servidor gordo (2) y devolver la URL (o un ID) del fichero.

¿Cómo lo haríais?

Citar
Datos:
- Tiene que devolver un ID que se guarda en la base de datos por lo que no podría ser FTP.
- Tiene que ser lo más rápido posible. ¿Lógico, no?
- La web (1) tiene que enviar el ID del usuario al servidor (2).

Espero vuestras ideas!




WarGhost

El algoritmo para subir y procesar la imagen puede estar servidor dos, o en el 1?
¿Qué culpa tengo yo de tener la sangre roja y el corazón a la izquierda?

dimitrix

Cita de: WarGhost en  8 Junio 2012, 18:27 PM
El algoritmo para subir y procesar la imagen puede estar servidor dos, o en el 1?

No entiendo muy bien la pregunta.

Si dices a que servidor apunta el form, la respuesta es el 1.
Por eso es el servidor 1 recibe el archivo y lo tiene que mandar al 2 y que el dos le de una respuesta.

La única ventaja es que la transferencia entre servidores es más rápido 100Mb simétricos.




WHK

#3
Fácil, que el id lo genere el servidor donde está la web y mande el archivo via post data al servidor de los archivos con el id y que guarde el archivo con el id incluido (que no es el id real de archivo sino un token de localización) y ya está.

De hecho la idea es que utilices un mismo dominio con subdominios diferentes para compartir las cookies y verificar la autentificación del usuario en ambos servidores.

Si el servidor 2 no es tuyo podrias agregar un subdominio apuntando al servidor real y listo.

dimitrix

El problema es que el ID lo tiene que generar el servidor (2) y el problema es que el usuario no puede saber que el archivo se ha guardado en otro servidor, por eso no se puede hacer con lo de las cookies como has dicho.




Graphixx

Haces que en el servidor que sirve los archivos, lleguen las url de descarga encriptadas:
http://php.net/manual/es/function.urlencode.php
asi el usuario no vera de donde se le estan sirviendo.
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

dimitrix

Cita de: Graphixx en  9 Junio 2012, 18:44 PM
Haces que en el servidor que sirve los archivos, lleguen las url de descarga encriptadas:
http://php.net/manual/es/function.urlencode.php
asi el usuario no vera de donde se le estan sirviendo.

El problema no es servir los archivos, sino llegar a subir los ficheros.




it3r

creo que no es lo mas optimo ni mucho menos lo mas rápido, pero con curl se podria hacer, es decir recibes el archivo en server 1 y luego mediante curl lo envias a server 2 quien lo guarda y muestra un id, con el php del server 1 parseas la respuesta del server para obtener el id.

De esa manera el cliente nunca se entera de esa comunicacion entre server 1 y 2.

Saludos

dimitrix

Cita de: it3r en  9 Junio 2012, 19:32 PM
creo que no es lo mas optimo ni mucho menos lo mas rápido, pero con curl se podria hacer, es decir recibes el archivo en server 1 y luego mediante curl lo envias a server 2 quien lo guarda y muestra un id, con el php del server 1 parseas la respuesta del server para obtener el id.

De esa manera el cliente nunca se entera de esa comunicacion entre server 1 y 2.

Saludos

Justamente estaba pensando en eso, cURL, pero si que existen muchas otras formas para transmitir archivos internamente, por eso pregunto al foro cual es la mejor.




~ Yoya ~

Yo igual te recomiendo ocupar Curl, es muy rápido...
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.