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

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

Komunikacja po REST czy systemie kolejkowym?

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ń.

Transakcje w Java i Spring – jak to działa?

Transakcje w Java i Spring – jak to działa?

Transakcje są potężnym narzędziem, pozwalają nam na zaaplikowanie zmian w rozproszonej logice w jednym momencie. Zapewniają to, że wszystkie zmiany w danych zostaną zaaplikowane razem albo wcale. Modyfikując dane w wielu krokach, narazimy się na ryzyko posiadania niespójnych danych, jeżeli nie użyjemy transakcji. Jednakże transakcji należy używać świadomie i z rozsądkiem.

Apache Avro

Apache Avro

W praktycznych projektach, kiedy komunikujemy się pomiędzy mikrousługami za pomocą kolejki – musimy uzgodnić w Teamie, w jaki sposób będziemy serializowali i deserializowali dane na kolejce. W jaki sposób zostanie rozwiązane wersjonowanie struktury komunikatów? To kluczowe pytania, z którymi musi zmierzyć się każdy zespół przy projektowaniu komunikacji pomiędzy mikroserwisami.

Jak uzyskać elastyczność mikroserwisów na poziomie komunikacji?

Jak uzyskać elastyczność mikroserwisów na poziomie komunikacji?

Jednym z korzyści zorientowania organizacji na dobrze wydzielone, zorientowane na wycinek domeny mikrousługi jest ich niezależność, a tym samym zwinność. Nawet gdy mamy wrażenie, że ta niezależność została osiągnięta za pomocą architektury mikroserwisów, może okazać się, że biblioteki komunikacji skutecznie ją ograniczają. Jak wykorzystana technologia ma wpływ na niezależność zespołów?