El SQL Service Service Broker incluye la infraestructura necesaria para la programación asincrónica y se puede utilizar para la creación de aplicaciones distribuidas a través de múltiples bases de datos. Hace ya un tiempo que vengo hablando con algunos colegas respecto de los beneficios que nos ofrece el Service Bróker sobre todo cuando se necesita realizar el procesamiento de forma asincrónica o se necesita distribuir el procesamiento entre varios equipos.
Entre los beneficios que nos ofrece el Service bróker tenemos:
- La integración de bases de datos.
- Ordenación y coordinación de mensajes.
- El acoplamiento flexible de las aplicaciones.
- El bloqueo de mensajes relacionados.
- La activación automática.
Para ver el detalle de estos conceptos pueden visitar:
Ventajas de Service Broker
Algunos ejemplos de uso del Service bróker pueden ser:
- Desencadenadores asincrónicos
- Procesamiento confiable de consultas
- Recopilación confiable de datos
- Procesamiento distribuido en el servidor para aplicaciones cliente
- Consolidación de datos para aplicaciones cliente
- Procesamiento por lotes a gran escala
Para ver el detalle de estos conceptos pueden visitar:
Usos habituales de Service Broker
Motivación
Ayer mismo estuvimos hablando de las posibilidades de usarlo en una reunión de trabajo con un grupo de arquitectos y desarrolladores. Luego me puse a buscar algo de información al respecto para respaldar mis afirmaciones y encontré este caso de éxito.
Les resumo parte de lo que pueden ver en el documento (en inglés) que pueden encontrar en el siguiente Link:
MySpace Uses SQL Server Service Broker to Protect Integrity of 1 Petabyte of Data
Resumen del caso de éxito en el uso del Service Broker
MySpace decidió que la mejor manera de manejar el constante crecimiento de sus bases de datos relacionales, que actualmente suman más de 1 petabyte, era escalar horizontal mente y dividir la información a través de múltiples instancias de SQL Server. Para ayudar a garantizar la integridad de los datos mientras se mantiene picos de demanda de servicio de hasta 4,4 millones de usuarios simultáneos, se necesitaba una solución eficiente de mensajería asincrónica entre sus 440 instancias de SQL Server y más de 1000 bases de datos.
MySpace creó una solución para que actúa como punto de coordinación para la entrega de mensajes a través de sus bases de datos distribuidas. La solución trabaja en un modelo de broadcast en la que el despachador de servicios asegura que un cambio originario de una base de datos se entrega al grupo de bases de datos destino relevante para la transaccion mediante la utilización del Service Broker, lo que ha permitido a MySpace realizar la gestión de claves foráneas a través de sus 440 servidores de bases de datos, la activación y desactivación de cuentas de sus millones de usuarios.
MySpace también utiliza Service Broker administrativa para distribuir los nuevos procedimientos almacenados y otras actualizaciones en todos los 440 servidores de bases de datos a través del despachador que crearon.