Abstract:
Praca dotyczy kolejek wiadomości i ich zastosowań. Obejmuje Apache Kafka, RabbitMQ, Apache RocketMQ, Apache ActiveMQ, NSQ, Amazon SQS. Opisuje zagadnienia związane z kolejkami, charakterystyczne cechy każdego z wybranych systemów, ich instalację z wykorzystaniem technologii Docker oraz implementację aplikacji klienckich w języku Java, z wykorzystaniem oficjalnych dedykowanych bibliotek. Do monitorowania pracy brokerów, producentów i konsumentów wykorzystany został Prometheus. Dokonano przeglądu dedykowanych eksporterów metryk i zaimplementowano własne. Dysponując systemem monitoringu, przeprowadzano doświadczenia z udziałem brokerów i aplikacji klienckich, badając poszczególne parametry konfiguracyjne. Dokonano subiektywnego podsumowania, wyciągając wnioski z doświadczeń z każdym z systemów kolejkowych – zostały uwzględnione m. in. złożoność konfiguracji, dodatkowe funkcje czy integracje z popularnymi narzędziami