Data Distribution Service (DDS) vs Apache Kafka

V čem jsou tyto technologie podobné, v čem se liší a jak je nejlépe ve svém IoT nejlépe použít. To se dozvíte v tomto videu

DDS: plně decentralizovaná komunikační platforma (technologie) pro sdílení dat v reálném čase mezi různými zařízeními a aplikacemi s možnosti ovlivňovat parametry přenosu pomocí QoS

Kafka: distribuovaná streamovací platforma pro zpracování událostí v reálném čase. Umožňuje příjem událostí, jejich distribuované uložení a následné zpracování.

Podobnosti.

  • Standard a defacto standard.
  • Usnadňují vytváření distribuovaných systémů (každá svým způsobem).
  • Event driven-architecture. Asynchronní zasílání zpráv založených na Pubslish-subscribe.
  • Škálovatelné, jsme schopni reagovat na rostoucí počet poskytovatelů a příjemců dat
  • Vhodné pro integraci dat a aplikací díky volné vazbě mezi jednotlivými komponentami.
  • Obsahuje podporu pro dopředné i zpětné kompatibilní změny ve schématu. Infrastruktura hlídá kompatibilitu dat. Správa netypovaných dat se prostě u většího systému nedá zvládat.
  • Jsou schopni přenášet obrovské množství zpráv – High throughput
  • Poskytují vysokou dostupnost dat, a zajišťují tak pouze případnou konzistenci dat.
  • Určeny převážně pro větší distribuované systémy.
  • Silné zabezpečení

Rozdíly.

DDS:

  • Decentralized – peer to peer
  • Push publisher and subscriber
  • Data format: IDL, Strongly typed. Data-Centric –
  • Microsecundy
  • Technologie poskytuje stavové informace o aplikacích a datech (např. vím o připojených a odhlášených aplikacích a vím o stavu dat v systému (přečteny, nepřečteny, nová data)).
  • DDS je postavena pro nespolehlivé linky a je tolerantní k chybám sítě.

Kafka:

  • Centralized – broker klaster
  • Push publisher/Pool Consumer
  • Data format: you can chose, ale protože data potřebují být zpracovávána, v tu chvíli je dobré vědět co za data zpracovávám, logický krok tak byl použít schémata, výchozí je Avro (JSON/binarni) is used with Schema Registry (protobuf a json schema).
  • Milisekundy.
  • Pouze TCP
  • Kafka potřebuje stabilní síť a infrastrukturu.

V čem je každá technologie dobrá, čím se vyznačuje?

  • DDS:
    • Výhodou je, že není nutné mít prostředníka (brokera) – vyhledávání účastníků, funguje i na UDP a vlastnosti přenosu lze konfigurovat (QoS).
  • Kafka:
    • Je schopna uchovávat velké objemy dat pro zpracování aplikacemi.
    • Předpřipravené integrace pro zasílání dat do Kafka Clusteru (ActiveMQ, RabbitMQ, JMS, MQTT, a různé typy databází)

Kde je jejich místo/účel?

  • DDS: pro realtime komunikaci mezi zařízeními (fyzickými) (i když je možné ji použít i pro komunikaci mezi datacentry/Cloudy)
  • Kafka: pro realtime zpracování dat v datacentrech (i když je možné ji použít i blíže zařízením).

DDS a Kafka jsou různé produkty, které jsou vytvořeny pro různé účely. Kafka není postavena pro komunikaci s fyzickými zařízení a DDS zase není postavena pro zpracování historických dat.

To znamená, že technologie DDS a Kafka si nekonkurují, ale doplňují.

Jejich spojením a využitím toho nejlepšího získáte škálovatelnou, spolehlivou a bezpečnou IoT infrastrukturu.

Zajímá-li vás technologie Data-Distribution Service™ (DDS®) 🌀nebo technologie Apache Kafka® tak se podívejte na stránku www.pavelpohanka.cz/dds-kafka, kde si můžete tyto informace stáhnout ve formě myšlenkové mapy.

PP
Author: PP

Podobné příspěvky

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.