Azure Service Bus para comunicación entre microservicios

Clase 10 de 24Curso de Introducción a los Microservicios

Resumen

Para trabajar eficientemente con microservicios es vital contar con una configuración clara y un despliegue efectivo de recursos en la nube. Azure ofrece una solución práctica, especialmente si cuentas con créditos gratuitos, aunque cualquier otro proveedor de nube funciona perfectamente si prefieres AWS, Google Cloud, Heroku o DigitalOcean. El objetivo central es disponer de instancias y servicios adecuados para implementar comunicación efectiva entre microservicios.

¿Cómo preparar la documentación y estructura del proyecto?

Una excelente práctica es mantener organizada la documentación del proyecto dentro de una carpeta específica denominada "docs". Dentro de ésta puedes encontrar documentación útil para agilizar tu flujo de trabajo, especialmente útil con archivos markdown, como el caso del documento "add member.markdown", el cual visualizado desde Visual Studio aporta mayor claridad visual para tu trabajo.

¿Qué recursos de nube necesitas para microservicios?

Sin importar el proveedor seleccionado, es imprescindible crear una instancia o "broker" de mensajería para facilitar la comunicación entre microservicios. Algunos elementos esenciales son:

  • Crear una cola, por ejemplo llamada "Pickage".
  • Generar tópicos específicos, como "Adults Topic" y "Children Topic", útiles para segmentar eficientemente el flujo de comunicación.

En Azure, específicamente, este broker lleva el nombre de "Service Bus".

¿Cómo ejecutar el despliegue y configuración inicial?

Para empezar, ubícate desde tu terminal en la carpeta destinada a la infraestructura, normalmente dentro de tu carpeta principal del proyecto:

cd infraestructura
bash cloud-deployment.sh

Este script establece rápidamente la creación de instancias solicitadas como la cola y los tópicos necesarios para la arquitectura proyectada y te brinda el entorno idóneo para la implementación posterior en contenedores.

¿Qué paquetes instalar y cómo ejecutarlos?

Luego del despliegue inicial, se necesitan instalar paquetes para que el proyecto de microservicios pueda comunicarse correctamente con el Service Bus:

  • Si usas .NET:
dotnet add package Azure.Messaging.ServiceBus
  • Para Node.js, la instalación será con paquetes npm y, para Python, con pip, adaptado a cada lenguaje.

Al terminar la instalación, verifica rápidamente la ejecución correcta:

dotnet run

Al ejecutar este comando obtienes una URL que puedes abrir en tu navegador, añadiendo manualmente:

swagger/index.html

Al probar con Swagger, aseguramos que la plantilla predeterminada funciona perfectamente preparada para futuras modificaciones y adaptaciones a tu arquitectura específica.

¿Qué proveedor de nube prefieres utilizar para tus implementaciones? Comparte tu experiencia en la sección de comentarios.