Cytat(by_ikar @ 29.01.2016, 15:32:01 )

Założenie mikrosewisów nie jest takie że wszystko działa zupełnie odrębnie i żaden nie wie nic o drugim.
A kto powiedział, że żaden nie wie o innych?
Założenie jest takie, że serwis jest osobną jednostką, która sobie sama żyje i jest niezależna. Jeśli masz w aplikacji serwis odpowiedzialny za zapis plików (przypuśćmy, że jest osobny serwis, na który wgrywa się wszystkie pliki, czy to zdjęcia, czy PDF, cokolwiek), i teraz wszędzie tam, gdzie aplikacja wymaga wczytywania/odczytywania plików, to "rozmawia" z tym serwisem.
Jedne serwisy mogą tez komunikować się z innymi, ale jeśli przy operacji X serwis A ciągle gada do serwisu B, wtedy lepiej jest połączyć te dwa serwisy w jeden.
Należy unikać sytuacji, kiedy serwisy zbyt często siebie odpytują, bo to jest tylko niepotrzebny "coupling", który później odbija się przy zmianach - w grę wchodzą podstawowe zasady SOLID. Jeśli jeden serwis "rozmawia" z 10 innymi, wtedy przy zmianie tego serwisu może nagle pierdyknąć Ci te 10 serwisów.
Najlepiej narysować sobie na kartce serwisy i narysować strzałki kto z kim gada. Jeśli większość serwisów gada ze sobą nawzajem, wtedy jest to znak, że stworzyłeś cudowny przykład tego, jak nie robić mikroserwisów. ; )
A teraz wracając do Pythona - idźcie małymi kroczkami, znajdźcie jeden moduł, który jest niezależny i po prostu wyrzućcie go na oddzielny serwer. Tylko zanim go wywalicie na serwer, wtedy warto byłoby przeprowadzić najpierw refactoring kodu, postarać się usunąć wszelki niepotrzebny "coupling" tego modułu z innymi. Na waszym miejscu też postarałbym się ograniczyć liczbę zbędnych wywołań tego modułu (w sensie wywołań w kodzie, tylu moduł->metoda), bo podstawą jest, ze każde obecne wywołanie danego modułu będzie zastąpione callem do API.
Łato się mówi, ale oczywiście robi znacznie trudniej. Mikroserwisy to kawał trudnej roboty, powodzenia mogę jedynie życzyć. I koniecznie weź jakąś lekturę, same artykuły Cię wiele nie nauczą. Polecam tą książkę:
http://shop.oreilly.com/product/0636920033158.do (czytałem ją w tamtym roku, bardzo fajna, przedstawia konkretne przypadki i problemy z jakimi się boryka, w tym jak dzielić aplikację na serwisy i jak radzić sobie z bazą, np. z transakcjami pomiędzy serwisami).
Weź się za porządną literaturę, ona Ci pomoże, tam ludzie opisują swoje doświadczenia, tutaj jest za dużo teoretyków. ; P