Introducción

Completado

Imagine que trabaja para una gran organización de comunicación que notifica alertas de noticias de última hora. La empresa cuenta con una red mundial de periodistas que constantemente envían actualizaciones desde un portal web y una aplicación móvil. Después, una capa de servicio web de nivel intermedio toma esas actualizaciones de alertas y las publica en línea a través de varios canales.

Pero se notifica un problema grave. Se ha detectado que en el sistema faltan alertas cuando se producen acontecimientos significativos a nivel global. Se trata de un problema enorme porque la competencia está "superando" a la empresa. Como principal desarrollador de la empresa, se le ha seleccionado para identificar y corregir el problema.

El nivel intermedio proporciona capacidad suficiente para controlar las cargas normales. Pero un análisis de los registros de servidor ha revelado que el sistema se sobrecargó cuando varios periodistas intentaron cargar artículos de última hora de gran tamaño al mismo tiempo. Algunos redactores se han quejado de que el portal no responde y otros afirman que sus artículos se han perdido definitivamente. Ha identificado una correlación directa entre los problemas detectados y el aumento de la demanda en los servidores de nivel intermedio.

Es evidente que se necesita una manera de controlar estos picos inesperados. No quiere agregar más instancias del sitio web y del nivel intermedio del servicio web debido a que son costosas y, en condiciones normales, redundantes. Podría establecer instancias de forma dinámica, pero esto llevaría tiempo y aparecería el problema de esperar a que nuevos servidores estuvieran en línea.

Este problema se puede resolver mediante Azure Queue Storage. Una cola de almacenamiento es un búfer de mensajes de alto rendimiento que puede actuar como agente entre los componentes de front-end (los "productores") y el nivel intermedio (el "consumidor").

En nuestra solución, los componentes de front-end colocan en una cola un mensaje para cada alerta nueva. Después, el nivel intermedio recupera de la cola estos mensajes de uno en uno para su procesamiento. En los momentos de demanda alta, la cola podría aumentar de longitud, pero no se pierde ningún artículo y la aplicación sigue respondiendo. Cuando la demanda recupere los niveles normales, el servicio web se pondrá al día con el trabajo pendiente de la cola.

Vamos a obtener información sobre cómo usar Azure Queue Storage para administrar la demanda alta y mejorar la resistencia de las aplicaciones distribuidas.

Objetivos de aprendizaje

  • Creación de una cuenta de Azure Storage que admita colas.
  • Creación de una cola con C# y la biblioteca cliente de Azure Storage para .NET.
  • Adición, recuperación y eliminación de mensajes de una cola con C# y la biblioteca cliente de Azure Storage para .NET.