Java Spring Cloud mikroserwisy duplikacja

0

Cześć
Mam dla przykładu dwa mikroserwisy jeden od autoryzacji użytkowników a drugi np do zamawiania.

W pierwszym mikroserwisie będę miał repozytorium użytkownicy i w drugim mikroserwisie też potrzebuje repozytorium użytkownicy(bo np coś dodaje do niego w bazie) wtedy będzie duplikacja entity jak i repozytoriów.

Jak takie coś mogę rozwiązać?

1
Artur Kowalski napisał(a):

w drugim mikroserwisie też potrzebuje repozytorium użytkownicy(bo np coś dodaje do niego w bazie)

W sensie w drugim mikroserwisie zmieniasz rekord/wpis danego usera? Że np zmieniasz mu email?

0

Tak przypuśćmy że w innym mikroserwisie zmieniam mu maila to muszę duplikować repo i entity (pojo) czy np a pomocą message brokera kafka wysłać wiadomość do tego serwisu (który zajmuje się użytkownikami)?

2

Jeśli w drugim repo zmieniasz mu maila, to jest niepoprawne rozbicie domenowe :P Ale jak już musisz, to wtedy ta druga opcja - wysłanie komendy do serwisu A (czy messega brokerem to nie wiem - w końcu to command a nie event - chcemy mieć info zwrotne (w przypadku eventu byłoby fire and forget))

1

o_O tak, weź duplikuj w każdym. Dobre mikro serwisy ci wyjdą :D :D

Zlecasz wykonanie akcji odpowiedniemu serwisowi po prostu a nie kombinujesz. Nie koniecznie robiłbym to Kafka, bo trochę nie pasuje, niemniej musisz to jakoś przekazać do tego drugiego serwisu.

1

Mikroserwisy, a w zasadzie podział na bounded conteksty, zakładają redundancję danych. W mikroserwisach nawet duplikacja kodu jest ok :)

Oczywiście zakładamy, ze te usługi maja rozdzielne bazy danych, a przynajmniej schematy? Bo jak zamierzasz z 2 uderzać do tej samej tabeli, to życzę powodzenia :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1