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.
1. SQL Server Service Broker Bernardo Antonio Robelo Jirón Ingeniero en Sistemas http://bernardorobelo.blogspot.com/ Bernardo.robelo@gmail.com
2. SQL Server Service Broker El SQL ServiceServiceBroker 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. Palabra clave “Asincrónica”
5. Beneficios 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.
6. UsosHabituales 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
7. Desencadenadoresasincrónicos Muchas aplicaciones que utilizan desencadenadores, como los sistemas de procesamiento de transacciones en línea (OLTP), pueden beneficiarse de ServiceBroker. Un desencadenador pone en cola un mensaje que solicita trabajo de un servicio de ServiceBroker. El desencadenador no realiza realmente el trabajo solicitado. En realidad, crea un mensaje que contiene información sobre el trabajo que se va a hacer y envía este mensaje a un servicio que realiza el trabajo. A continuación, el desencadenador vuelve. Cunado la transacción original se confirma, ServiceBroker entrega el mensaje al servicio de destino.
8. Procesamientoconfiable de consultas Algunas aplicaciones deben procesar de forma confiable las consultas, independientemente de los errores del equipo, de problemas de suministro eléctrico o de problemas similares. Una aplicación que necesita el procesamiento confiable de consultas puede enviar consultas mediante el envío de mensajes a un servicio de ServiceBroker. La aplicación que implementa el servicio lee el mensaje, ejecuta la consulta y devuelve los resultados. Estas tres operaciones tienen lugar en la misma transacción. Si se produce un error antes de que la transacción se confirme, se revierte toda la transacción y el mensaje vuelve a la cola. Cuando el equipo se recupera, la aplicación se reinicia y vuelve a procesar el mensaje.
9. Recopilaciónconfiable de datos Las aplicaciones que recopilan datos de un conjunto grande de orígenes pueden sacar partido de ServiceBroker para recopilar datos de forma confiable. Por ejemplo, una aplicación comercial con varios sitios puede utilizar ServiceBroker para enviar información sobre transacciones a un almacén central de datos. Dado que ServiceBroker proporciona una entrega de mensajes asincrónica confiable, cada sitio puede continuar procesando transacciones incluso si el sitio pierde temporalmente la conexión con el almacén central de datos. La seguridad de ServiceBroker ayuda a garantizar que los mensajes no se envían a un destino incorrecto y a proteger los datos en tránsito.
10. Procesamiento distribuido en el servidor para aplicaciones cliente Las aplicaciones grandes que tienen acceso a varias bases de datos de SQL Server pueden beneficiarse de ServiceBroker. Por ejemplo, una aplicación Web para hacer pedidos de libros puede utilizar ServiceBroker en el servidor para intercambiar información entre las distintas bases de datos que contienen datos sobre pedidos, clientes, inventario y crédito. Dado que ServiceBroker proporciona una cola de mensajes y la entrega confiable de mensajes, la aplicación puede continuar aceptando pedidos incluso si una de las bases de datos no está disponible o está sobrecargada. En este escenario, ServiceBroker funciona como un marco para un sistema OLTP distribuido.
11. Caso éxito en uso de ServiceBroker 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. MySpacecreó 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 ServiceBroker, 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 ServiceBroker 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. http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000004532