Évolutivité de Service Broker
Service Broker est conçu pour faire évoluer vos applications de base de données de façon optimale, que vous choisissiez une évolution verticale ou horizontale. Cette rubrique regroupe quelques recommandations générales portant sur la conception des applications qui utilisent les possibilités de Service Broker.
L'activation de Service Broker facilite le développement des applications, dans la mesure où une plus grande puissance de traitement est libérée. Grâce au verrouillage des groupes de conversations, les programmes de service évitent aisément les sources de conflits les plus courantes.
Chaque application Service Broker est composée d'un ensemble de tâches qui s'exécutent de façon indépendante. Le routage Service Broker permet à une application utilisant cette nouvelle technologie de déplacer des services sur différentes instances. La gestion du routage des messages étant assurée par Service Broker plutôt que par l'application, les services peuvent être distribués à d'autres ordinateurs sans qu'il soit nécessaire de changer le code de l'application.
Lorsque vous concevez votre application Service Broker pour améliorer la flexibilité, prenez bien en compte la façon dont les tâches sont liées les unes aux autres dans l'application même. En règle générale, les services dont les tâches ont été clairement différenciées se révèlent très efficaces dans les déploiements par montée de puissance parallèle et par unité. Prenez comme principe de diviser les tâches en services selon les données qui sont nécessaires à leur exécution. Lorsque deux tâches sont liées, ne modifiez pas les mêmes données, envisagez plutôt de structurer ces tâches en différents services. De fait, même si une application de gestion client et une application d'expédition requièrent un accès à l'adresse d'un client, seule l'application de gestion client modifie cette adresse. Dans ce cas, les messages envoyés à l'application d'expédition peuvent contenir les coordonnées de l'adresse indispensable à l'envoi des commandes. À partir du moment où ces deux applications ne requièrent pas un accès aux mêmes tables, vous pouvez clairement ces tâches en différents services.