Helm – czyli jak uprościć zarządzanie w Kubernetes?
Warto o tym wiedzieć! Czym jest Helm, jak go używać i jak ułatwia on korzystanie z klastra Kubernetes?
Dzisiaj zajmiemy się znowu bardziej techniczną stroną urządzeń IOT i porozmawiamy dokładniej o protokołach warstwy aplikacji. Jakie są dostępne technologie, jakie konkretne paczki programistyczne można zastosować oraz co czym różnią się od siebie poszczególne protokoły charakterystyczne dla IOT? O tym już dzisiaj. Zapraszamy do lektury!
W ostatnim artykule rozmawialiśmy od podejściu warstwowym w sieciach komputerowych i o tym jak właściwie działa na poziomie sieciowym system IOT. Dzisiaj zaczniemy od tego co dla programistów jest najistotniejsze z perspektywy sieciowca, czyli o warstwie aplikacji i protokołach takich jak MQTT czy COAP.
Rysunek 1: Protokoły używane w IOT, TCP/IP model, źródło: fb.com/IoTResearch
Jeśli chcielibyśmy się zapoznać jak wyglądają trendy w domenie protokołów aplikacji IOT możemy skorzystać z porównywarki Google Trends, która wskazuje jakie technologie są najczęściej wyszukiwane.
Rysunek 2 – wykres Google Trends
https://trends.google.com/trends/explore?date=today%205-y&q=MQTT,COAP,XMPP,AMQP
Warto zobaczyć jak wyglądają trendy poszczególnych technologii, ponieważ występują pewne różnice w rozkładzie zainteresowania szczególnie w takich krajach jak Chiny czy USA. Globalnie jednak, można zauważyć znaczącą przewagę rozwiązania MQTT, które postaramy się zaprezentować poniżej.
MQTT IN IOT – czym jest i jaka jest jego historia?
MQTT (ang. MQ Telemetry Transport) jest lekkim protokołem, który powstał w 1999 roku i działa w modelu publish/subscribe. Służy do kolejkowania wiadomości i jest szeroko stosowanym rozwiązaniem w urządzeniach IOT. Standard MQTT definiuje dwa rodzaje obiektów w sieci – klienta oraz broker wiadomości. W 2012 roku powstał jeden z popularniejszych open-source brokerów – Mosquitto 1.0. W 2013 natomiast powstało szeroko stosowane rozwiązanie cloudowe HiveMQ. W roku 2014 natomiast została wydana aktualizacja do standardu MQTT w wersji 3.1.1, a następnie w 2018 MQTT 5.
Rysunek 3 – historia MQTT, źródło hivemq.com
MQTT posiada wiele charakterystyk zarówno upodabniających jak i odróżniających go od innych protokołów warstwy aplikacji jak np. HTTP. Można wśród nich wymienić:
Połączenie pomiędzy klientem i brokerem zaczyna się od ustanowienia połączenia TCP (jeśli nie używamy QUIC’a) a następnie wymiany pakietów charakterystycznych dla MQTT.
Rysunek 4 – pakiety MQTT używane do zarządzania połączeniem między klientem i brokerem, źródło: Ravi Kishore Kodali, researchgate.net
Jak widać na powyższym rysunku MQTT wykorzystuje kilka typów wiadomości do komunikacji, które postaramy się krótko opisać:
Rysunek 5: Zawartość wiadomości CONNECT, źródło: hivemq.com
„lastWIll” w protokole MQTT to funkcja pozwalająca klientowi określić wiadomość, którą broker opublikuje na określonym temacie w przypadku niespodziewanej utraty połączenia klienta. Klient definiuje temat, na którym ma być opublikowana ostatnia wola, oraz samą treść wiadomości.
Parametry związane z „lastWill” obejmują:
Istnieje także wiele innych rodzajów wiadomości MQTT takich jak: PUBACK, PUBREC, PUBREL, PUBCOMP, UNSUBSCRIBE, UNSUBACK.
Mamy nadzieję, że dzisiejszy wpis był czymś ciekawym szczególnie dla ludzi technicznych. Dotknęliśmy różnych aspektów technologii zarówno związanych z programowaniem jak i sieciami komputerowymi. Jeśli jesteście zainteresowani, to zapraszamy za tydzień, gdzie nadal pozostajemy w temacie IOT.
Helm – czyli jak uprościć zarządzanie w Kubernetes?
Warto o tym wiedzieć! Czym jest Helm, jak go używać i jak ułatwia on korzystanie z klastra Kubernetes?
AdministracjaInnowacja
INNOKREA na Greentech Festival 2025® – zdobyliśmy zielone serce Berlina!
Jak wygląda przyszłość zielonych technologii i jak nasza platforma wpisuje się w ideę recommerce? Relacjonujemy nasz udział w Greentech Festival w Berlinie – zobaczcie, co przywieźliśmy z tego inspirującego wydarzenia!
WydarzeniaZielone IT
Minimalizm w projektowaniu oprogramowania: Prosty interfejs, większa efektywność
Dowiedz się, jak minimalistyczne projektowanie oprogramowania poprawia doświadczenie użytkownika, zmniejsza zużycie energii i wspiera strategie zielonego IT dzięki prostym, wydajnym i ekologicznym aplikacjom dedykowanym.
InnowacjaZielone IT