Wpis z mikrobloga

#programowanie #mikroserwisy
Ogólnie mirki mam pytanie. Tyle się mówi, że mikroserwis powinien być niezależny itp itd. To ja się zastanawiam jak mój mikroserwis, który dajmy na to pobiera dane z zewnetrznych api i zapisuje je do bazy ma być niezależny? Jeśli używam do tego bazy relacyjnej to w przypadku kiedy w odpowiedzi z api coś się zmieni i bedzie to wymagało zmian w bazie danych to te zmiany bede musiał również zaadaptować w serwisie który odczytuje dane z bazy i je przetwarza. W ten sposób oba te serwisy są od siebie zależne. Jak więc w takim przypadku uzyskać niezależność? Powiedzmy że mam dwa mikroserwisy i jeden pobiera dane i je zapisuje gdzieś a drugi odczytuje dane i je przetwarza
  • 9
@Proogramista: No zakladam ze jak trzeba cos w bazie zmienic to zmienia sie model w obu serwisach
@Saly: czyli jak sie coś zmienić w bazie i modelu to serwis zapisujacy w bazie zmienia model requestu i kazdy serwis musi zmienic model requestu czyli sa zalezne
@Proogramista: j/w jak cos sie zmieni w bazie to i tak trzeba zrobic zmiany w obu serwisach
czyli jak sie coś zmienić w bazie i modelu to serwis zapisujacy w bazie zmienia model requestu i kazdy serwis musi zmienic model requestu czyli sa zalezne


@ireneusz-piontek: serwis A zmienia model bazy, swoją logikę i model requestu/responsu. Nie zmienia to faktu, że jak chcesz mieć mikroserwisy to model requestu/responsu musi być robiony z głową. Przy normalnych podejściu zmiany w modelu muszą być elastyczne. W taki sposób, że serwisy odpytujące serwis
Ogólnie mirki mam pytanie. Tyle się mówi, że mikroserwis powinien być niezależny itp itd. To ja się zastanawiam jak mój mikroserwis, który dajmy na to pobiera dane z zewnetrznych api i zapisuje je do bazy ma być niezależny? Jeśli używam do tego bazy relacyjnej to w przypadku kiedy w odpowiedzi z api coś się zmieni i bedzie to wymagało zmian w bazie danych to te zmiany bede musiał również zaadaptować w serwisie
@ireneusz-piontek:

Jak więc w takim przypadku uzyskać niezależność?


Nie uzyskasz. Te dwa mikroserwisy są ze sobą powiązane przez wspólną bazę danych i co za tym idzie współdzielą model danych, więc jak coś zmienisz w A to musisz zrobić zmianę w B. Jak już wyżej mirki napisały, w architekturach mikroserwisowych stosuje się podejście baza per usługa, gdzie każdy serwis ma swoją bazę danych. Prowadzi to oczywiście do duplikacji danych, bo przykładowo informacje