Estoy en las primeras fases de diseño de una aplicación basada en Azure. Una de las cosas que me atrae de Azure es la escalabilidad, dada la variabilidad de la demanda que probablemente esperaré. Como tal, estoy tratando de mantener las cosas juntas para que pueda agregar instancias cuando sea necesario.Mejores prácticas para (sobre) el uso de colas Azure
Las recomendaciones que he visto para diseñar una aplicación para Azure incluyen mantener la lógica de la función web al mínimo y realizar el procesamiento en roles de trabajo, usar colas para comunicarse y algún tipo de tienda back-end como SQL Azure o Azure Mesas. Esto me parece una buena idea, ya que puedo ampliar cualquiera o ambas partes de la aplicación sin ningún problema. Sin embargo, tengo curiosidad por saber si hay algunas prácticas recomendadas (o si alguien tiene alguna experiencia) para saber cuándo es mejor simplemente hacer que la función web se comunique directamente con el almacén de datos y no enviar datos por la cola.
Estoy pensando en el caso en que tengo un simple inserto para hacer desde la función web, mientras que podría configurarlo como un mensaje, enviarlo a la cola, y tener un rol de trabajador recogerlo y hacer el inserto, parece un montón de doble manejo. Sin embargo, también aprecio que este sea el caso de que esto sea mejor a largo plazo, en caso de que la función web se vea abrumada o que se requiera una lógica más compleja para la inserción.
Me doy cuenta de que este podría ser un caso en el que la respuesta es "depende completamente de la situación, revise sus parámetros de perfusión", pero si alguien tiene algún pensamiento, lo apreciaría mucho.
Gracias
John
Al hacer esto, ¿qué mostrar al usuario? Muchos usuarios esperarán ver la miniatura en la IU una vez que se cargue la foto, así que mientras puedo ver el valor de separar la producción de miniaturas en una función de trabajador, ¿no te queda un problema de UX sobre qué mostrar hasta que el procesamiento sea completo, y cómo saber cuándo es? – dumbledad