Wpis z mikrobloga

#programowanie #microservices Robię w dla siebie projekt w mikroservices i zastanawiam się na odpowiedzialnością miedzy serwisami. Mam dwa mikroserwisy: użytkownicy (U) i rachunki (R) (gdzie jeden użytkownik może mieć wiele rachunków) oraz logikę że przy jakiejkolwiek operacji na rachunku muszę wcześniej sprawdzić czy użytkownik jest aktywny. To dobrą praktyką jest wysyłanie do serwisu U zapytania czy można wykonać operację i ją zawiesić czy lepiej wykonać operacje i ewentualnie rollbackować ją gdy serwis U zgłosi błąd (czyli de facto robić kolejki transakcyjne np Saga)? Ma ktoś doświadczenie z takimi mechanizmami?

Ps. pracuje 5 lat na monolicie i chce nauczyć się systemów rozproszonych
  • 5
via Wykop Mobilny (Android)
  • 0
@jak5z: a co jak chcesz wyświetlić np. nazwy użytkowników, którzy utworzyli rachunki w ostatnim miesiącu?

Strzelasz do R po rachunki za ostatni miesiąc i zwraca ich np. 1000, a potem dla każdego rachunku (jest w nim id użytkownika) wysyłasz 1000 zapytań do U po nazwy użytkowników? ( ͡° ͜ʖ ͡°)
@mk321: właśnie pytanie jest bardziej o rozproszenie danych, jak to dobrze zrobić by ni było takich problemów
@kebab-case: no własnie funkcjonalności - użytkownik może mieć nie tylko rachunki bo jeszcze inne rzeczy, generalnie zarządzenie kontem i jakie własnościami