consdata.com
Blog techniczny Blog biznesowy Dział HR
EN
programming

Kafka Companion

author Jacek Grobelny
3 października 2019

Stalo się standardem, że współczesne narzędzia i biblioteki dystrybuowane są z mniej lub bardziej zaawansowanym interfejsem graficznym. RabbitMQ, będący najpopularniejszym obecnie systemem kolejkowym, wita nas po zainstalowaniu przejrzystym i funkcjonalnym panelem administracyjnym. Może więc budzić zdziwienie, że Apache Kafka nie została wyposażona w żadne GUI. Do dyspozycji dostajemy jedynie zestaw skryptów bashowych, które co prawda pozwalają wykonać wiele czynności administracyjnych, to jednak korzystanie z nich nie należy do przyjemnych. Sprawiają wrażenie pisanych przez różne zespoły developerskie, ponieważ te same parametry potrafią mieć inne nazwy. W dodatku skrypty są bezstanowe - każde wywołanie musi mieć pełen zestaw parametrów identyfikujących serwer i zasoby do których chcemy się odwołać. Naturalnym jest zatem, że do wygodnej i wydajnej pracy warto wdrożyć rozwiązanie, które pozwala w łatwy sposób podejrzeć stan serwera oraz topików na Kafce. Z kolei ze względu na prostotę testowania i diagnostyki, warto mieć możliwość dodawania nowych komunikatów.

Dlaczego piszemy własne narzędzie

Poszukując administracyjnego frontendu do naszej Kafki, zainstalowaliśmy i przetestowaliśmy szereg dostępnych w sieci darmowych aplikacji. Niestety żadna z nich nie spełniła wszystkich wyspecyfikowanych wymagań. Nie pozostało nam zatem nic innego, jak przygotować własne narzędzie. Tak oto powstał Kafka Companion. Uważni czytelnicy naszego bloga zauważą pewnie, że nie jest to pierwszy Companion, który powstał w naszej firmie. Podobne pobudki doprowadziły chociażby do implementacji SQCompaniona, o którym pisał Grzegorz Lipecki w artykule Monitorowanie zespołowych trendów jakości kodu

Podstawowe funkcjonalności

Aplikacja podzielona jest na trzy moduły dostarczające istotnych funkcjonalności podczas codziennej pracy developerskiej z Kafką.

Podgląd kondycji klastra

Ekranem, od którego należałoby rozpocząć, jest lista wszystkich węzłów w klastrze. Znając topologię możemy upewnić się, czy węzły klastra są żywe oraz jakie mają identyfikatory. 2019-10-03-kafka-companion_brokers.png

Podgląd i dodawanie wiadomości do topiku

Możliwość podglądania stanu kolejek oraz dodawania nowych wiadomości jest niezwykle istotna podczas rozwijania oraz testowania systemu. W naszym rozwiązaniu wszystkie wiadomości są JSONami, więc dodatkowo widok wiadomości próbuje rozłożyć je do postaci tabeli tak, aby można było przejrzyście zaprezentować stan topiku. Prezentowane są także metadane związane z numerem partycji oraz offsetem wiadomości. 2019-10-03-kafka-companion_messages_list.png

W każdej chwili możemy zarzucić topik dowolną liczbą wiadomości. Wprowadziliśmy także placeholdery pozwalające na różnicowanie wiadomości dodawanych w jednej serii. 2019-10-03-kafka-companion_messages_new.png

Podgląd stanu grup konsumentów

Ostatnim ekranem jest podgląd grup konsumentów. 2019-10-03-kafka-companion_consumers_list.png

Dowiadujemy się z niego kto konsumuje wiadomości z topików oraz, co bardzo ważne, czy wiadomości są konsumowane na bieżąco. 2019-10-03-kafka-companion_consumers_details.png

Podsumowanie

Kafka Companion jest darmowy i dostępny na naszym Githubie. Zachęcam do pobrania, testowania i zgłaszania uwag.

Zaproszenie na 4developers

Jeżeli zainteresowała was tematyka poruszana w tym artykule to serdecznie zapraszam na moje wystąpienie na 4Developers, gdzie wykorzystam Kafka Companiona podczas mojej prezentacji. Wielkopolska edycja 4Developers odbędzie się 18.11. Ścieżki tematyczne, jakie pojawią się w Poznaniu, to: .NET, Architektury Aplikacji, Java, JavaScript

Tutaj zdobędziecie bilety

Najnowsze wpisy

  • Pułapki adnotacji @Transactional
  • Czy wiesz, czym jest i jak działa Browserslist?
  • Czy wiesz, że zależności w Springu powinniśmy wstrzykiwać przez konstruktor?
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

Podobne wpisy

post-image
java

Pułapki adnotacji @Transactional

Najczęstsze pułapki związane z @Transactional w Springu i Hibernate - od proxy i self-invocation, przez dirty checking, po cache Hibernate.

author
Kamil Dudek 10 kwi 2026
post-image
frontend

Czy wiesz, czym jest i jak działa Browserslist?

Od czasu do czasu każda osoba pracująca nad frontendem natrafia na plik o nazwie `browserslist`. Kto z niego korzysta i na co wpływają dokonywane w nim zmiany?

author
Piotr Grobelny 27 mar 2026
post-image
spring boot

Czy wiesz, że zależności w Springu powinniśmy wstrzykiwać przez konstruktor?

Poznaj zalety tego podejścia, przykłady kodu i wskazówki dotyczące testowania oraz bezpieczeństwa aplikacji.

author
Bartosz Pietrowiak 16 mar 2026
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA
consdata.com
  • Kontakt

    • sales@consdata.com
    • +48 61 41 51 000

  • Biuro

    • K9Office
      Krysiewicza 9/14
      61-825 Poznań
      Polska

  • Rozwiązania

    • Eximee
    • Kouncil
  • Blog Dołącz do nas
Copyright © 2024 Consdata. All rights reserved. Privacy Policy & Cookies
Chcemy używać plików cookie oraz skryptów podmiotów trzecich do polepszania funkcjonowania tej strony Zgadzam się