[WEBINAR💻] NIS 2 en action : Stratégies et solutions pour une cyber-résilience renforcée ! Le replay est disponible dès maintenant🎙!

✖︎
iot-infrastructure-big-data-message-broker_0.jpg

IoT : sans Big Data, point de salut – 3 : Brokers de messages

16/09/2019
Big Data
IoT

Après Hadoop, NoSQL et Time Series, suite de notre série d’articles consacrés aux architectures et outils Big Data dans le cadre de l’Internet des Objets.

Dans cet article, ce sont les flux de données qui sont à l’honneur. Et surtout les technologies utiles pour permettre à chaque système de l’architecture de communiquer avec les autres.

Les Message-Oriented Middlewares (MOM), ou brokers de messages

Afin d’éviter de connecter un par un chaque système émetteur de données à chaque système consommateur de données, les MOM prennent la forme de bus, auprès desquels les émetteurs publient leurs messages, et sur lesquels les consommateurs viennent les lire.

À noter qu’aucun traitement n’est réalisé dans ce processus : le principal intérêt de ce dispositif est l’asynchronisme, ne nécessitant pas la disponibilité de chaque partie pour assurer l’échange (le rôle du MOM étant de conserver le message jusqu’à la sa transmission au destinataire).

Si ActiveMQ ou Joram peuvent suffire dans de nombreux cas, 3 solutions plus avancées permettent de répondre à des besoins plus spécifiques.

  • RabbitMQ : soutenu par Pivotal et utilisé notamment par Instagram et Clever Cloud, RabbitMQ adresse en particulier les processus publish/subscribe traditionnel ou nécessitant un routage élaboré des messages. Et peut gérer en outre l’utilisation des protocoles spécifiques tels que STOMP (Streaming Text Oriented Messaging Protocol), idéal pour le temps réel, et MQTT (Message Queue Telemetry Transport), garantissant une utilisation minimale de la bande passante, parfait pour l’IoT.
  • KAFKA : créé (et utilisé) par LinkedIn, KAFKA est également à l’œuvre chez Uber, Netflix, AirBnB, OVH ou encore Goldman Sachs. Capable d’ingérer une grande quantité de données en un laps de temps minimum, de conserver les messages plus longtemps et de capter des événements (tels qu’un changement dans une base de données par exemple), KAFKA est également en mesure de répondre à des besoins transactionnels.
    De la même façon, Oracle Golden Gate et IBM IDR, qui sont deux technologies de Change Data Capture (CDC) peuvent compléter KAFKA pour le suivi de changements en bases de données.
  • Azure IoT Hub : capable de prendre quasiment tout type d’objets connectés, Azure IoT Hub est un concentrateur de messages proposant une communication bidirectionnelle entre une application et les objets auxquels elle est connectée. IoT Hub est un service managé, hébergé dans le cloud.

Comme évoqué précédemment, le protocole MQTT est particulièrement adapté à l’internet des objets, car les messages qu’ils transportent sont particulièrement légers (256 Mo max.). Dans une logique publish/subscribe, les clients abonnés ont le choix entre plusieurs  niveaux de qualité de service (suivi des messages et garantie de remise au destinataire).

 

Pour aller plus loin, retrouvez les recommandations de Digora sur les autres couches d’infrastructure en matière de Big Data :