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

  • Dostępność w PDF - dokumenty bez barier
  • Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?
  • Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?
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

newsletter

techniczny

Zapisz się

Podobne wpisy

post-image
WCAG

Dostępność w PDF - dokumenty bez barier

author
Kacper Hoffman 28 kwi 2025
post-image
angular

Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?

author
Piotr Tatarski 7 kwi 2025
post-image
angular

Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?

author
Dorian Mejer 10 mar 2025
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

Zapisz się na

newsletter

techniczny

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ę