W ramach nauki postanowiłem zabrać się za póki co prosty CRUD w architekturze mikroserwisowej. Ów serwisy, a raczej póki co jeden prosty serwis (ProductService) stoi na Springu i jest zasilany danymi z bazy MySQL. Wystawia on 4 usługi RESTowe, jak się można domyśleć
-createProduct
-readProducts
-updateProduct
-deleteProduct

Póki co wszystko było dość łatwe, wystawienie prostych usług po stronie backendu i strzelenie do nich RESTem z danymi z formatki, chciałbym jednak dodać teraz moduł Spring Security i ograniczyć dostęp do tych usług, przykładowo Admin ma dostęp do wszystkiego, User do create, read i update, a niezalogowany użytkownik tylko do read. No i o ile monolitycznej aplikacji coś takiego robiłem, to nie mam pojęcia jak się za to zabrać korzystając z architektury rozproszonej.

Może ktoś dysponuje dobrymi materiałami na ten temat?
Jak zmieni się architektura aplikacji? Domyślam się, że po pierwsze powinien dojść nowy mikroserwis - UserService, który będzie zarządzał bazą danych/tabelą użytkowników. Jak jednak zmieni się droga z Frontu do bazy produktów? Bo pewnie nie będzie to już bezpośredni strzał do ProductService, tylko po drodze będą stały inne serwisy, sprawdzające uprawnienia, itp (Authentication/AutorizationService)?