Pregunta

Un amigo y me gustaría crear un sitio web para manipular los datos de Facebook.

La estructura es:

  • un papel web PHP (contiene la página web, de acceso OAuth usuario, interactúa con las colas, e interactúa con la base de datos SQL Azure)
  • un papel # trabajador F (hace estadísticas y extracciones de datos bastante pesados)

El procedimiento es (suponiendo un nuevo usuario):

  • usuario llega en la página web y sirve para acceder a Facebook a través de OAuth, el papel web PHP a continuación, se enviará un mensaje en una cola worktodo con la información de inicio de sesión y token.

  • función F # trabajador lee el mensaje de la cola worktodo y comienza haciendo crujir los datos (utilizando la API de Facebook) y las estadísticas, entonces escribe los resultados en una base de datos SQL Azure. Por último, se enviará un mensaje a la cola workdone indicando que ha tenido éxito en hacer el procesamiento de datos para el usuario.

  • Finalmente el papel web PHP lee la cola workdone y se da cuenta del trabajo está hecho, y muestra los resultados del algoritmo.

Tengo dos preguntas:

  • ¿Hay una gran falla en este diseño?

  • ¿Cuál es la mejor forma de colaborar: una persona va a escribir el PHP y otro el F #, ¿hay una forma de almacenamiento de desarrollo del uso de dos máquinas diferentes?

Muchas gracias! (Disculpas si algunos encuentran estas cosas demasiado básico, estoy en gran medida un principiante en todos estos asuntos).

¿Fue útil?

Solución

No veo nada malo con este plan.

No creo que haya una manera de tener dos máquinas que señalan en el mismo almacenamiento de desarrollo, pero sólo se puede utilizar almacenamiento en la nube (incluso cuando se ejecutan localmente). Lo hago todo el tiempo; se le paga por las transacciones de almacenamiento y ancho, pero para la mayoría de aplicaciones en las pruebas, este costo es trivial.

Otros consejos

Si desea seguir un camino más experimental bits, también podría intentar buscar en Phalanger . Este es un proyecto que compila el código PHP para .NET, por lo que puede ser posible ejecutarlo directamente sobre el Azure y bien colaborar con F # (Phalanger tiene algunas extensiones de lenguaje que le permiten llamar a cualquier objetos .NET y algunos API para llamar Phalanger objetos de C #).

Yo estaba involucrado en el proyecto hace algún tiempo, pero ahora se beign desarrollado por otras personas (y como se puede ver a partir de los registros de entrada, es muy activa de nuevo y que seguramente estaría interesado en colaborar para resolver posibles cuestiones Azure). Si estuviera interesado, hágamelo saber -. Te puedo dar algunos contactos, por lo que se puede discutir el estado Phalanger en Azure con ellos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top