2012-02-10 44 views
6

¿Puedo ejecutar un rol Web y un rol de trabajador en la misma instancia, o tengo que obtener 2 instancias de alojamiento separadas y pagar el doble de lo que ganaría de otra manera?Roles e instancias de Azure

Tengo una API web de WCF que deseo alojar en Azure. También tengo un Rol de trabajador que escucha una cola en almacenamiento de Azure. Cada vez que se agrega un mensaje a la cola, lo obtendrá y ejecutará una pequeña tarea según el mensaje.

Me preguntaba si puedo ejecutar estos dos en la misma instancia o no.

Respuesta

3

"Rol de trabajador" y "Papel web" son simplemente plantillas simples para "Windows Server 2008 con IIS en ejecución" y "Windows Server 2008 sin IIS en ejecución". La clave es que un "rol" es una definición de una máquina virtual Windows Server. Para cada "rol" tiene una o más instancias.

En Windows Azure, ambos tipos de roles tienen la capacidad de instalar software, modificar configuraciones de registro, etc. en un script de inicio o en el controlador OnStart(), y ambos le permiten ejecutar código en el método Run().

En su caso, puede ejecutar su Servicio web WCF en un rol web y luego en su método Run() (en el mismo rol), iniciar un proceso que escucha los mensajes en cola publicados por sus servicios web WCF. No es necesario tener un nuevo rol.

Ahora: una vez que entra en situaciones de gran volumen, es posible que desee dividir su código en roles separados, para que pueda escalar de forma independiente (tanto en tamaño de VM como en cantidad de VM).

He publicado otra respuesta sobre este here.

0

Depende completamente de su requisito. Simplemente puede tener una función de trabajador que expone un punto extremo externo como se describe en here y exponer un servicio de WCF. También puede tener Web Role, que es un Servicio WCF, y crear un hilo de fondo que verifique la cola. ¿Qué está haciendo el Trabajador con el mensaje? ¿Qué proceso se realiza? Eso también tiene un impacto en la solución.

Una cuestión clave que debe tener en cuenta es si el requisito de escala entre su Servicio WCF y las tareas de recuperación de cola son los mismos. Si son un solo rol, deberían ser lo suficientemente buenos como para comenzar.

Cuestiones relacionadas