the meaning how habilitar example enable ejemplo colas sql-server msmq message-queue service-broker

meaning - Desventajas de SQL Server Service Broker



service broker meaning (1)

He estado haciendo I + D para el alcance de SQL Server Service Broker para reemplazar la solución de mensajería actual MSMQ. Quiero saber las desventajas de SQL Server Service Broker en contraste con MSMQ para los siguientes criterios.

  1. Desarrollo
  2. Solución de problemas
  3. Rendimiento (digamos que necesitamos procesar 100,000 mensajes diariamente, con un tamaño promedio de alrededor de 25 KB)
  4. Escalabilidad

He utilizado Service Broker en mi proyecto actual, habiendo usado MSMQ ( MassTransit por MassTransit ) con gran éxito. Inicialmente tuve dudas sobre el uso de Service Broker, pero debo admitir que ha funcionado muy bien.

Si está usando el modelo de publicación / suscripción, entonces usaría Message Queue Server cada vez (aunque usaría RabbitMQ sobre MSMQ si el proyecto lo permitiera) pero cuando solo quiera revisar una pila de datos y persistir en el servidor Sql , entonces Service Broker es una gran solución: el hecho de que sea tan ''cercano al metal'' es una gran ventaja.

Desarrollo

Service Broker requiere una gran cantidad de repeticiones, lo que es una molestia, pero a menos que esté planeando tener muchas colas diferentes, es manejable. Los proyectos de Sql Server en Visual Studio son muy difíciles de implementar.

Solución de problemas

Service Broker es una caja negra: los mensajes entran, y generalmente salen, pero si no lo hacen, la solución de problemas puede ser problemática, y todo lo que puede hacer es consultar las vistas del sistema , y algunas veces simplemente no puede descubrir qué ha salido mal Esto es molesto, pero MSMQ tiene el mismo tipo de problemas ...

Actuación

El desempeño del Service Broker es excelente. Estamos procesando más de 100,000 mensajes por día, más de 30,000 por hora en nuestra carga de SLA, y nuestro tamaño de mensajes es grande. Yo estimaría que procesamos cerca de 100,000 mensajes por hora durante las pruebas de carga pesada.

Para obtener el mejor rendimiento, le aconsejaría que utilice un grupo de diálogo como este 1, ya que crear un cuadro de diálogo de Service Broker puede ser una operación costosa .

También querrá utilizar los procedimientos de manejo de errores detallados por Remus Rusanu . (Si utiliza Service broker, también puede leer todo lo que Remus ha escrito sobre el tema antes de comenzar, ¡ya que terminará por leerlo!)

Escalabilidad

Ciertamente, puede usar más de un servidor para escalar si es necesario, aunque no hemos tenido que hacerlo, y por el tamaño de carga que menciona, no creo que lo necesite.

No creo que realmente haya logrado responder a su pregunta, ya que no he resaltado suficientes desventajas de las colas de Service Broker. Yo diría que la naturaleza impenetrable de su funcionamiento interno es lo que más me molesta: cuando funciona, funciona muy bien, pero cuando deja de funcionar puede ser muy difícil entender por qué. Además, si tiene muchos mensajes en una cola, usar ALTER QUEUE demora mucho tiempo en completarse.

No saber cómo está utilizando MSMQ también hace que sea diferente comparar de manera justa las dos tecnologías.

1 Recreado de manera global, ya que la URL original ahora está "deshabilitada" y la página no está en el archivo de Internet. Eventualmente encontré una copia here