Java Developer? Przejdź na wyższy poziom wiedzy 🔥💪  Sprawdź

Team Leader? Podnieś efektywność swojego zespołu 👌 Sprawdź

5 najczęstszych błędów, kiedy używasz Apache Kafka

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.

Monitoring Mikrousług – diagnostyka problemów w środowisku rozproszonym

Monitoring Mikrousług – diagnostyka problemów w środowisku rozproszonym

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
Pula połączeń i źródło danych

Pula połączeń i źródło danych

Tworząc systemy, które wymieniają dane z bazą danych, chcesz, aby komunikacja była niezawodna.
Możesz wykonywać operacje, które mogą być krótkie, ale za to częste, a może będziesz wykonywał takie, które są bardzo długie.
Operacje są wykonywane w ramach nawiązanego wcześniej połączenia do bazy.
Użytkowników systemu przeważnie jest wielu, a ich sesje powinny być niezależne.

W pewnym momencie może się zdarzyć, że użytkownik nie będzie mógł wykonać jakiejś operacji,
ponieważ baza danych odrzuci kolejne połączenie ze względu na jakiś limit.

Ale przez odpowiednią konfigurację możesz zoptymalizować szybkość działania Systemu w zakresie dostępu do nawiązanego
połączenia do bazy danych.

Sposoby na poprawę wydajności Hibernate 🚀

Sposoby na poprawę wydajności Hibernate 🚀

W Hibernate wiele operacji wykonywanych jest „auto magicznie”. Nie znając specyfiki, możesz doprowadzić do spadku wydajności.

Jeśli poznasz i zrozumiesz zasady działania, będziesz w stanie poprawić wydajność operacji związanych z komunikacją z bazą danych.

Wiedząc jak włączyć monitorowanie, zweryfikujesz czy zapytania wysyłane do bazy danych są tymi, których się spodziewałeś.

Jak działa Lazy-Loading? Jak obsłużyć operacje masowe? Czym jest problem N+1?

Wiele wersji Java na komputerze 🎨 – SDKMAN

Wiele wersji Java na komputerze 🎨 – SDKMAN

SDKMAN to narzędzie oryginalnie stworzone dla *nix-owych systemów operacyjnych w prosty sposób pozwala na pobieranie i przełączanie się pomiędzy różnymi SDK na maszynie.

Wspiera instalację wielu środowisk SDK, np. dla Java, Groovy, Scala, Kotlin, Maven, Micronaut. Poprzednio znane jako GVM (Groovy enVironment Manager).

W tym wpisie skupie się na instalacji narzędzia na Windows i po krótce przejdę przez najważniejsze funkcje.

Ważne parametry JVM, o których powinieneś wiedzieć przed wyjściem na produkcję

Ważne parametry JVM, o których powinieneś wiedzieć przed wyjściem na produkcję

Podczas przygotowywania aplikacji przed wyjściem na produkcję dobrze jest zwrócić uwagę na to, z jakimi java opts jest ona uruchamiana. Włączenie kluczowych z nich pozwala na spełnienie wymagań niefunkcjonalnych, takich jak stabilność systemu, szybkość działania (inicjalizacji), diagnostyka. Z tego artykułu dowiesz się o opcjach m.in.: -Xms i -Xmx (oraz ich działaniu w kontekście kontenerów Docker), -XX:+HeapDumpOnOutOfMemoryError, -Duser.timezone, -Djava.security.egd, -server, -Xloggc.