


5 najczęstszych błędów, kiedy używasz Apache Kafka
Integracja aplikacji ze sobą za pomocą Apache Kafka jest stosunkowo łatwa. W tym zadaniu wspomagają nas biblioteki albo całe frameworki (takie jak Spring). Ponieważ to zadanie jest znacznie ułatwione, może to uśpić czujność programistów. Chciałbym zwrócić Twoją uwagę na to, żebyś poświęcił chwilę na analizę wymagań niefunkcjonalnych w swojej aplikacji, a także zapoznał się z domyślnymi ustawieniami Apache Kafka i bibliotek integrujących.

Konsument wiadomości w Apache Kafka
Konsument Kafki jest używany do optymalnego odczytywania wiadomości z partycji topika, który subskrybuje. Główną rolą konsumenta jest wziąć połączenie do klastra Kafki oraz ustawienia konsumenta, aby połączyć się z brokerem i zacząć odczytywać wiadomości.

Komunikacja po REST czy systemie kolejkowym?
W świecie mikroserwisów pojawia się temat sposobu ich integracji, aby wymienić wiedzę i udostępnić usługi pomiędzy domenami. Dwa popularne podejścia to komunikacja synchroniczna (np. HTTP, REST) oraz integracja przez system kolejkowy typu Apache Kafka, RabbitMQ czy JMS (Java Message Service np. Tibco).
Każde podejście ma szereg wad i zalet, dlatego przed podjęciem decyzji należy zrozumieć przypadek użycia, poznać kontekst biznesoowy i wymagania niefunkcjonalne oraz przeprowadzić analizę za i przeciw cechom każdego z rozwiązań.

Apache Kafka – producent wiadomości
Apache Kafka to bardzo rozbudowany system umożliwiający dostosowanie się pod praktycznie każdą potrzebę biznesową. Jeśli chcemy wysokiej przepustowości i zezwalamy na utratę komunikatów (np. logi, metryki) – proszę bardzo – Kafka przygotowuje dla nas ustawienia producentów. Jeśli zależy nam na jak największej spójności danych (np. przelewy, geolokalizacja) – proszę bardzo mamy inne ustawienia. W dzisiejszym artykule na tapetę weźmiemy producenta w systemie Apache Kafka.