Información general sobre la arquitectura

En esta sección se proporciona información general de la arquitectura de Service Bus para Windows Server, incluida la pila de plataforma, el sistema de proceso de ejecución, las soluciones de granja de servidores, la escala y la alta disponibilidad.

Información general de Service Bus para Windows Server

Service Bus para Windows Server es un conjunto de componentes instalables para Windows que proporciona capacidades de mensajería de Service Bus (similares a las capacidades de Service Bus). Service Bus para Windows Server permite crear, probar y ejecutar aplicaciones controladas mediante mensajes, acopladas flexiblemente, en entornos autoadministrados y en equipos de desarrollador. Las colas de Service Bus ofrecen almacenamiento y recuperación de mensajes confiable con una variedad de protocolos y API. Los temas de Service Bus, creados sobre la misma base que las colas, también ofrecen las capacidades de publicación y suscripción que permiten a varios suscriptores simultáneos recuperar de forma independiente vistas filtradas o sin filtrar de la secuencia de los mensajes publicados.

Pila de plataforma de Service Bus para Windows Server

Service Bus para Windows Server se ha creado basándose en Microsoft .NET Framework 4.0 PU3, Windows Server 2008 R2, SQL Server 2008 R2 y Base de datos SQL y Windows PowerShell 3.0. Todas estas plataformas deben ejecutarse en un sistema operativo de 64 bits. La capa de almacenamiento para el sistema (SQL) puede encontrarse en un servidor remoto dedicado, en uno de los nodos del equipo o en Base de datos SQL de Windows Azure. Los nodos del equipo utilizados en esta pila pueden estar hospedados de forma local o en Windows Azure IAAS.

En la figura siguiente se muestra la pila de plataforma para Service Bus para Windows Server.

Arquitectura del servidor

Modelo de proceso y ejecución

La figura siguiente muestra el modelo lógico de cómo opera el servidor de Service Bus para Windows Server. Cada servidor de Service Bus para Windows Server tiene tres procesos clave: la puerta de enlace de Service Bus, el agente de mensajería de Service Bus y Windows Fabric. Todos los procesos del servidor están hospedados como servicios Windows NT.

Puede conectar un conjunto de servidores entre sí en una "granja de servidores" de alta disponibilidad.

Arquitectura del servidor

Patrones de comunicaciones intragranja de servidores

Como la granja de servidores de Service Bus para Windows Server es de "alta disponibilidad", hay una comunicación entre procesos que abarca equipos locales y remotos.

  • El proceso de puerta de enlace de Service Bus es un servicio sin estado y puede comunicarse con el agente de mensajería de equipos locales o remotos dentro de la granja de servidores.

  • El proceso de agente de mensajería de Service Bus de cada equipo se registra en el servicio Windows Fabric (en el mismo equipo). Este registro indica la disponibilidad para hospedar los servicios Windows Fabric.

  • Los servicios Windows Fabric de cada equipo se comunican entre sí y establecen un "Anillo de alta disponibilidad".

Puerta de enlace de Service Bus

La puerta de enlace de Service Bus recibe y procesa primero todas las solicitudes entrantes de los clientes Las cabeceras del protocolo procesan las solicitudes y realizan las actividades necesarias de autenticación, autorización y resolución de direcciones. Después, la solicitud se reenvía al agente de mensajería apropiado. En algunos casos, el cliente se comunica con el agente de mensajería directamente para las solicitudes subsiguientes. El diagrama siguiente muestra el flujo de comunicaciones que implica la puerta de enlace de Service Bus:

Arquitectura del servidor

Los clientes pueden utilizar Net.TCP o REST over HTTP como protocolo para la comunicación con el servidor de Service Bus para Windows Server.

Interacción con Net.TCP

Cuando las solicitudes de un cliente de Net.TCP se reciben en la puerta de enlace, identifica el host (contenedor de mensajes) para la entidad de mensajería como, por ejemplo, una cola, un tema o una suscripción. Después el servicio reenvía las solicitudes al agente de mensajería de Service Bus apropiado (local o remoto) en el que se ejecuta el contenedor de mensajes.

El modo de redirección de mensajería es compatible solo para las solicitudes Net.TCP. En este modo, después de la autenticación y la autorización, el cliente puede pedir a la puerta de enlace que responda con la dirección del agente de mensajería de Service Bus. Entonces el cliente puede conectarse directamente con el agente de mensajería de Service Bus para las solicitudes posteriores. Esta característica reduce la sobrecarga del enrutamiento de todas las solicitudes a través de la puerta de enlace de cada mensaje enviado por cable.

Interacción de REST

Cuando un cliente solicita REST over HTTP como protocolo, el servicio NT de puerta de enlace identifica el host (contenedor de mensajes) para la entidad de mensajería como, por ejemplo, una cola, un tema o una suscripción. Después el servicio reenvía las solicitudes al agente de mensajería de Service Bus apropiado (local o remoto) en el que se ejecuta el contenedor de mensajes. El patrón de interacción REST no admite la característica de redireccionamiento de mensajería.

Agente de mensajería de Service Bus

El agente de mensajería es un servicio NT que hospeda la cabecera de protocolo y uno o varios contenedores de mensajes. El servicio se registra en Windows Fabric y actúa como host para el servicio de contenedor de mensajes.

El diagrama siguiente muestra una representación lógica del servicio NT del agente de mensajería de Service Bus.

Arquitectura del servidor

El ciclo de vida del servicio NT es la base para la detección de conmutación por error y alta disponibilidad.

Contenedor de mensajes

Puede ver el contenedor de mensajes como una colección lógica de la lógica de tiempo de ejecución (cálculo) de la que se hace copia de seguridad en un almacén persistente (base de datos SQL). En caso de conmutación por error o para el equilibrio de carga, el contenedor de mensajes es un servicio modular que se mueve. Un almacén (base de datos SQL) hace copia de seguridad de todos los contenedores de mensajes y hospeda un conjunto de colas, temas y suscripciones según determina un simple algoritmo de administración de capacidad circular. Las entidades como las colas, los temas y las suscripciones colocadas en un contenedor no se pueden mover, y permanecen con el contenedor y su base de datos asociada. Todos los estados relacionados con el contenedor de mensajes persisten en la base de datos.

Windows Fabric

Este proceso contiene la lógica esencial necesaria para la alta disponibilidad, la formación de clústeres y granjas de servidores y el equilibrio de carga entre los equipos de la granja de servidores. El servicio de agente de mensajería de cada equipo se registra en el proceso de Windows Fabric en los equipos respectivos. Windows Fabric determina el número de instancias registradas del servicio de contenedor de mensajes y las coloca en los diferentes equipos de la granja de servidores en función de un simple algoritmo de equilibrio de carga.

Alta disponibilidad

Service Bus para Windows Server admite la alta disponibilidad. Hay dos aspectos de la alta disponibilidad:

  • Cálculo

  • Almacenamiento

Capa de cálculo

Service Bus para Windows Server es un servidor de alta disponibilidad. El servidor depende de Windows Fabric para conseguir alta disponibilidad. Para conseguir alta disponibilidad, Service Bus para Windows Server necesita tres equipos. Todas las topologías que tienen menos de tres equipos no admiten la alta disponibilidad.

El diagrama siguiente muestra la condición de estado estable de una granja de servidores de tres equipos en la que hay tres contenedores de mensajes.

Arquitectura del servidor

Si un servicio NT de agente de mensajería se bloquea o recicla, o en caso de un reciclaje o apagado completo de nodo, los contenedores de mensajes asociados que se han colocado en esta instancia de agente antes del bloqueo se mueven automáticamente a otros equipos de la granja de servidores. Los contenedores de mensajes continúan dando servicio a solicitudes con una pequeña interrupción en caso de conmutación por error.

Arquitectura del servidor

Si el servidor tiene más de un contenedor, el equilibrio de la carga es otro aspecto de alta disponibilidad. A medida que se agregan nuevos equipos a la granja de servidores, la capacidad de cálculo se optimiza mediante el reequilibrio de la lista de contenedores asignados a un servicio NT de agente de mensajería específico. El algoritmo de equilibrio de carga también se desencadena cuando los administradores del servidor crean nuevos contenedores de mensajes o eliminan los existentes.

Service Bus para Windows Server automatiza la adición de nuevos equipos a la granja de servidores. También automatiza la reconfiguración de la granja de servidores para que admita alta disponibilidad. Para conseguir esta automatización, el servidor habilita automáticamente la impresora remota y los archivos compartidos.

Nivel de almacenamiento

Service Bus para Windows Server proporciona compatibilidad no nativa para la alta disponibilidad en la capa de almacenamiento. Puede utilizar su propia solución, como la creación de reflejos SQL.

Fecha de compilación:

2013-07-25