OAuth2 to protokół uwierzytelniania, który pozwala na zdecydowanie więcej niż standardowe logowanie się użytkownika do aplikacji za pomocą loginu i hasła. Prawdę mówiąc, to tylko jedna z wielu opcji.
Mikroserwisy
Budując system oparty o mikroserwisy, musisz ze sobą jakoś skomunikować poszczególne usługi. No nie ma siły, nie domyślą się, co mają robić. W tym momencie należałoby się zatrzymać i zaprojektować komunikację.
No i tu zazwyczaj pojawia się problem.
Na pewno często pracujesz z REST API, na różne sposoby. Na pewno też tworzysz nowe REST API. Praktycznie każdy projekt w jakimś stopniu z niego korzysta.
Tylko pytanie, jak to robisz?
Tworzenie własnej libki na potrzeby mikroserwisów to nie jest najlepszy pomysł. Z wielu powodów. Jeżeli jednak masz taką potrzebę, zobacz, jak to zrobić nie betonując systemu.
Wiesz, że własna, customowa libka, zbudowana specjalnie dla Twojego mikroserwisowego systemu to tak naprawdę strzał prosto w kolano?
Mikroserwisy na greenfieldzie mogą nie być najlepszym pomysłem, wręcz mogą sprawić więcej problemów niż poczciwy monolit.
Posiadanie jednego źródła prawdy jest zdecydowanie najlepszym rozwiązaniem i do tego trzeba dążyć zawsze. Jednocześnie, należy pamiętać, że mikroserwisy powstały w konkretnym celu – w celu zapewnienie wysokiej wydajności i skalowalności. W takiej sytuacji, jedno źródło prawdy staje się wąskim gardłem i pojedynczym punktem awarii!
Tworząc system o architekturze mikroserwisowej mamy do zbudowania skomplikowany system wzajemnych powiązań pojedynczych trybików wielkiej maszyny. Jednak trybik trybikowi nierówny. Mamy różne rodzaje mikroserwisów, każdy rządzi się innymi prawami i ograniczeniami.
Jeśli używasz Spring Cloud Config warto zwrócić uwagę na to jak wygląda twoja organizacja konfiguracji w repozytorium GIT. Dobre jej zaprojektowanie umożliwi Ci wykorzystanie pełnej historii, tagów oraz branchy w sposób efektywny.
Konfigurację dla mikroserwisów możemy pobierać również z serwera, który jest centralnym i łatwo dostępnym źródłem konfiguracji dla aplikacji Spring Bootowej.