Les cas d’utilisation
Il existe aujourd’hui une multitude de protocoles et d’API comme JMS, Stomp, MQTT, AMQP, XMPP… et des outils qui se basent sur les messages comme Flume, Logstash, Syslog…
Dans ce chapitre, nous verrons quelques exemples d’utilisation avec Spring pour ActiveMQ (JMS), Redis et RabbitMQ pour l’utilisation pure MOM en abordant le contexte d’utilisation. ActiveMQ
ActiveMQ est la réponse par défaut pour faire du MOM. Les outils Kafka, RabbitMG ont des patterns d’architectures différents pour répondre aux problèmes d’envoi et de réception de messages. Kafka
Pour le développement, nous devons choisir l’implémentation en fonction du contexte d’utilisation. Parfois, nous ne connaissons pas encore toutes les contraintes futures et nous ne savons pas comment l’application va évoluer. Il faut donc séparer dans le code l’implémentation de la fourniture et la consommation des messages du code métier de façon à pouvoir changer relativement facilement de MOM. Il s’agit de l’approche d’Architecture hexagonale. Pour la partie technique du code, nous nous adaptons au mieux au MOM utilisé et Spring offre énormément d’aide sur ce point avec ses couches d’abstraction.
En effet, nous migrerons l’application pour prendre en compte les préoccupations les plus importantes :
-
facilité d’utilisation au niveau codage...