6. Les brokers
6
Système de messagerie intergiciel orienté message
pour les systèmes distribués
« Message-oriented middleware »
7. Les brokers
7
Système de messagerie intergiciel orienté message
pour les systèmes distribués
« Message-oriented middleware »
Images : https://www.nexworld.fr/kafka-artemis-bien-choisir-broker-de-messages/
8. Le protocole AMQP
8
Advanced Message Queuing Protocol
Origines en 2003
Spécifié par un Consortium international
Interopérabilité « wire-level »
(pas de standardisation au niveau de l’API)
Messages sans limite de taille
Plusieurs voies dans une seule connexion
Objectif de devenir un standard ouvert
(SMTP, HTTP, FTP…)
9. Avantages
9
Compact & Efficient (binary)
Reliable (different levels of delivery, QoS from fire-and-forget to once delivery …)
Portable (standard, cross-platform, cross-language)
Low coupling
Flexible (peer to peer, client-server, server-server topologies)
Scalable (multi-brokers, internet)
No integration costs
13. Sondage ?
13
Qui a déjà eu à gérer les problématiques suivantes ?
Send Message
Route Data
Asynchronous Work
Queueing & Buffering (FIFO)
Reliability (Ack, Persistance)
Security (Authentication, SSL)
Monitoring & Management
21. Fonctionnement
21
Les publishers se contentent de publier !
Les consumers se contentent de s’abonner aux données !
Images : https://blog.zenika.com/2010/12/19/introduction-a-rabbitmq-amqp/
22. La mission de Toto
22
Utiliser des plateformes Windows, Linux, CompactRIO
Développe en Java, Python, LabVIEW et C#
Tout le monde doit pouvoir récupérer de la donnée
La liste des publishers est inconnue
La liste des consumers est inconnue
Les données récupérées sont configurées par fichier
23. La mission de Toto
23
Utiliser des plateformes Windows, Linux, CompactRIO
Développe en Java, Python, LabVIEW et C#
Tout le monde doit pouvoir récupérer de la donnée
La liste des publishers est inconnue
La liste des consumers est inconnue
Les données récupérées sont configurées par fichier
POC en 2 semaines…
32. Request / Response
Messaging Patterns
32
Actors Messaging Pattern Examples
Gateway
RPC
Service
Load
Balancer
Bus
Bus
Service
33. Composition de Patterns
33
Exemple d’architecture avec un logiciel d’acquisition dont les
processus communiquent via un broker au lieu d’utiliser les files
d’attente natives LabVIEW.
42. Service Model
42
Architecture Model
(distributed, centralized, brokered…)
+ Communication Model
(queue based, data distribution, replicated data,
transactional…)
+ Object Model
Software object model (broker internal architecture)
can be software defined at runtime !