cześć
Temat stary jak świat i wiadomo że współdzielenie kodu miedzy mikroserwisami raczej przysparza problemów.
(mówiąc dalej "paczka" mam na myśli np. .jar w JVM, paczke w node, nuget w c# itd.)
Realia jednak są takie, że czasami to się zdarza. Nie tyle współdzielony kod biznesowy, co np. osobna paczka do logowania w okreslonym standardzie projektowym, osobna paczka dla konsumerów i producerów Kafki, osobna dla konfiguracji połączenia z bazą (nawet majac baza per serwis), osobna konfigurująca GraphQL itd.
Albo - jedna paczka która służy jako baza dla każdego mikroserwisu, zawierająca wszystko z czego korzysta większość z nich. Np większosc używa Kafki, Postgresa, jakiegoś loggera itd.
Pewne rzeczy to upraszcza, ale też powoduje oczywiste komplikacje.
Może jestem w błędzie, ale mam wrażenie, że taki dylemat rzadziej występuje jak w projekcie używany jest powiedzmy Spring, który praktycznie do wszystkiego ma paczkę, która wystarczy wrzucic na classpath i mamy coś skonfigurowane. Natomiast używając mniejsze biblioteki np. jakieś (strzelam) Akka HTTP, Ktor, Quarkus, Micronaut i tak dalej - często trzeba niektóre rzeczy trzeba po prostu sobie napisać ;)
Stoję teraz trochę przed takim dylematem. Przekopałem już cały internet, ale mam niedosyt.
Zachęcam do odpowiedzi w ankiecie. Będę wdzieczny za jakieś odpowiedzi jak to u was jest i jak to się z tym żyje :) (chyba warto wspomnieć z jaką ilościa mikrosvc pracujecie)
Dzięki!