Partage de la charge de travail avec la messagerie de publication/d'abonnement
Dans la messagerie de publication/abonnement, le système de messagerie envoie un copie de chaque message publié à chaque abonnement correspondant. Les abonnés, à savoir les applications qui consomment les messages de publication>/abonnement, consomment ces messages depuis un abonnement individuel. Pour équilibrer la charge de travail entre plusieurs instances d'une application, par exemple, lorsqu'une application s'exécute dans un cluster de serveurs, toutes les instances de l'application doivent utiliser le même abonnement.
La Figure 1 montre que, dans cette configuration, une seule instance de l'application traite chaque message envoyé à l'abonnement. Toutefois, la Figure 2 montre que si différentes instances d'une même application sont configurées pour recevoir les messages de différents abonnements, chaque instance traite une copie de chaque message correspondant pour ventiler chaque message.


Pour les messages point à point, vous pouvez utiliser des destinations de file d'attente et partitionner une file d'attente pour équilibrer la charge de travail des messages. Toutefois, vous ne pouvez pas partitionner des abonnements de cette manière.
Pour la messagerie de publication/abonnement, vous devez utiliser un abonnement durable pour pouvoir configurer plusieurs instances d'application pour utiliser le même abonnement et donc équilibrer la charge de travail des messages. Les instances de l'application doivent pouvoir consommer les messages simultanément depuis le même abonnement. Ce type d'abonnement s'appelle un abonnement durable partagé. Pour configurer un abonnement durable partagé, vous définissez la propriété d'abonnement Durable partagé de la fabrique de connexions appropriée ou de la spécification d'activation.
Un abonnement durable dispose d'un moteur de messagerie principal et d'une identité unique créée depuis l'identité du client et le nom de l'abonnement. Le système de messagerie peut accumuler les nouvelles publications de l'abonnement, même si aucun abonné n'est actif. Le moteur de messagerie principal accumule les messages d'un abonnement en utilisant un point de publication. Lorsqu'un abonné démarre ou redémarre, le système de messagerie utilise l'identité unique et le moteur de messagerie principal pour identifier le point de publication, rechercher l'abonnement durable et remettre les messages accumulés.
Un abonnement non durable n'a pas d'identité unique. Il dure pendant la durée de vie de son abonné. Plusieurs instances d'application ne peuvent pas recevoir des messages d'un même abonnement non durable.
- Dans le cluster
- Le bus distribue le travail entre les clients qui se connectent à un membre de bus dans le même cluster lorsque les clients utilisent le même identificateur de client et le même nom d'abonnement.
- Toujours partagé
- Le bus distribue le travail entre les clients, qu'ils se connectent ou pas au bus, lorsque les clients utilisent le même identificateur de client et un nom d'abonnement durable.
- Jamais partagé
- Les clients ne peuvent pas utiliser le même identificateur de client et un nom d'abonnement durable comme session existante.