Explorer brokerów Kafki
Tytuł | Explorer brokerów Kafki |
|---|---|
Standard | |
Status | |
Data zgłoszenia | |
Autorzy | |
Właściciele | |
Epik | <span class="confluence-jim-macro jira-issue" data-jira-key="ITD-95">
<a href="https://bluemedia.atlassian.net/browse/ITD-95?src=confmacro" class="jira-issue-key" data-index="3">ITD-95</a>
</span>
|
Kontekst | Celem tematu jest wybór i implementacja narzędzia do przeglądania zawartości firmowych brokerów Kafki, ewentualnie administracja swoimi topicami. Obecnie przyjęty kafdrop ma bardzo nieprzystępny interface, bardzo ograniczone możliwości a większość czasu zwraca 500kę. Dodatkowo uruchomiony jest jedynie na środowisku STG. Należy opracować strategię takiego rozwoju tego tematu aby uwzględniając system uprawnień przeglądanie zawartości brokerów było łatwe, ułatwiało development i utrzymanie. |
Decyzje | |
Konsekwencje |
Notatki
Narzędzia które były brane pod uwagę:
https://www.kadeck.com/ narzędzie desktop / serwer dla zespołów, licencjonowane, zaawansowane
https://www.kafkamagic.com/ desktop / serwer, połowicznie licencjonowane, średniozaawansowane
https://akhq.io/ konsola web, darmowe, zaawansowane
https://github.com/provectus/kafka-ui konsola web, darmowe, zaawansowane
https://docs.confluent.io/platform/current/platform.html platforma web, w pełni licencjonowane, kosmicznie zaawansowane
Narzędzie Kadeck jest mocno zaawansowane i głównie występuje w formie programu desktopowego. Jest również wersja kontenera webowego, który posiada integrację z AD i można wystawiać konkretne funkcjonalności i dostępy do Kafki na zasadzie ACLi, jednak jak zrozumiałem w takim wypadku powstaje kontener per zespół. Narzędzie zbyt zaawansowane w stosunku do potrzeb zgłaszanych w ramach obecnego ADRa, jednak posiadające potencjał w szerszej perspektywie.
Narzędzie Kafka Magic zostało szybko wykluczone ze względu na połowiczne licencjonowanie i fatalny interface połączony z niewyróżniającym się zakresem funkcji.
Narzędzie AKHQ jest darmowe, opisywane jest jako zaawansowane, zbudowane jest na frameworku Micronaut i było pierwszym, które zostało przetestowane poprzez odpalenie pod dockerem z podłączeniem z klastrem stagingowym. Jego funkcjonalność faktycznie jest dość szeroka, posiada na przykład wiele form autoryzacji, łącznie z AD, jednak interface jest tak nieintuicyjny i nieergonomiczny, że kładzie się to szerokim cieniem i nie wydaje się być w niczym lepsze do zadania określonego poprzez ADR niż obecny Kafdrop.
Narzędzie, a właściwie platforma, Confluent Platform jest kombajnem występującym głównie jako serwis zewnętrzny, posiadający w środku całe środowisko: Kafki, konsoli administracyjnej, Kafka Connect, Schema Registry oraz wiele narzędzi monitoringowych, administracyjnych i maintainance’owych, zdolnych przeprowadzać auto-healing czy auto-rebalancing brokerów. Platforma występuje również w postaci dockerowych obrazów, jednak większość z nich, również ten posiadający konsolę administracyjną będącą odpowiedzią na potrzeby tego ADRa, są licencjonowane więc nie było możliwości sprawdzić ich możliwości naocznie. Poziom zaawansowania tego narzędzia jest olbrzymi i nie tyle wykracza poza potrzeby określone w ADRze jak w wydaje mi się w ogólności poza potrzeby firmowe w perspektywie formy w jakiej korzystamy z Kafki. Ze względu na potężne możliwości, pełną integracje z chmurami, w tym z AWS oraz rzekomą automatyzację i kontrolę procesów należy rozważać to narzędzie w przypadku przechodzenia na chmurę czy rozwoju infrastruktury.
Narzędzie Kafka UI, jest darmową konsolą administracyjną, występującą w postaci konfigurowalnego kontenera dockerowego. Było drugim narzędziem przetestowanym poprzez podpięcie do klastra stagingowego i w mojej opinii jest najlepsze. Posiada bardzo przejrzysty interface oraz zarówno podstawowe funkcjonalności:
wyświetlania danych brokerów
wyświetlanie, zmiana i zakładanie nowych topciów
wyświetlanie, wyszukiwanie i tworzenie wiadomości
wyświetlania danych konsumerów i ich metryk
wyświetlanie danych o grup konsumerów
jak i bardziej zaawansowane:
wyświetlanie, tworzenie i edycja schematów w rejestrze
wyswietlanie, tworzenie i administracja konektorami
autoryzacja OAuth przez Gitlab/GitHub/Google
tryb read-only
Screeny Kafka UI






Screeny AKHQ



