Si vous basez votre service web sur un modèle CQRS où les mises à jour/insertions sont traitées séparément des requêtes, vous pouvez utiliser Rabbit de manière découplée pour traiter les insertions/mises à jour de telle sorte que la requête du service web dépose un message contenant les informations à insérer/mettre à jour dans une file d'attente, puis revient. De cette façon, vous n'attendez pas que la base de données engage une transaction. Vous auriez alors un service séparé pour consommer ces messages et faire les appels appropriés d'insertion/mise à jour de la base de données.
Vos requêtes devront évidemment continuer à interagir directement avec votre base de données afin de renvoyer des informations.
Quant à savoir si c'est une bonne ou une mauvaise idée, c'est entièrement subjectif. Si votre base de données est assez simple et que les insertions/mises à jour ne prennent pas un temps appréciable, vous risquez d'introduire de la complexité pour un gain net faible ou nul. Par exemple, vous pourriez utiliser le javascript pour faire des appels asynchrones à votre service Web pour gérer les messages, ce qui permettrait à l'utilisateur final de bénéficier d'une expérience réactive.