utworzone przez Damian Rudczyk | Apache Kafka, Java, Mikroserwisy i Integracje
Apache Kafka dostarczona przez Confluent to prawdziwy kombajn, a nie zwykła kolejka. W dzisiejszym artykule pokażę Ci, jak możemy odpalić klaster Kafki oraz Schemę Registry na Dockerze, następnie wyklikamy topic oraz wgramy schemat Avro. Potem napiszemy przykładową alikację producenta oraz konsumenta w Spring Boot z wykorzystaniem Avro oraz Schemy Registry…
utworzone przez Piotr Pelczar | Java, Mikroserwisy i Integracje, Tip and Tricks
Wyobraź sobie, że wystąpił problem w produkcyjnym systemie zbudowanym z sieci rozproszonych mikrousług. Błąd przekazuje zespół, który złożył żądanie do Twojego systemu i operacja zawiodła – obsługa trwała długo, a następnie został zwrócony błąd. Podają requestId oraz szczegóły żądania.
Czy byłbyś w stanie szybko odpowiedzieć, co konkretnie było przyczyną błędu?
W tym wpisie chciałbym poruszyć problematykę Observability (obserwowalności) systemów opartych o architekturę rozproszonych mikrousług. Opowiem o:
- Log Aggregation, zbieranie logów w środowisku rozproszonym
- Distributed Tracing, czyli śledzenie konkretnego żądania
- Monitoring ogólnej kondycji systemu
- Perspektywa ogólna serwisu
- Perspektywa szczegółowa instancji
utworzone przez Damian Rudczyk | Apache Kafka, Java, Mikroserwisy i Integracje
Zanim przejdziemy do artykułu – mam dla Ciebie 2 ważne informacje Chciałbym zaprosić Ciebie na darmowe szkolenie z Apache Kafka, które prowadzę online 15 listopada o godzinie 18:00. Poniżej znajdziesz link, dzięki któremu możesz zapisać się na szkolenie:...
utworzone przez Damian Rudczyk | Apache Kafka, Java, Mikroserwisy i Integracje, Tip and Tricks
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.
utworzone przez Damian Rudczyk | Apache Kafka, Java, Mikroserwisy i Integracje
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.
utworzone przez Piotr Pelczar | Java, Mikroserwisy i Integracje
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ń.