Wpis z mikrobloga

Mirki pytanie z seri microserwisy. Rozbijam wlasnie jednego monolita i w niedalekiej przyszlosci czeka mnie rozbicie jeszcze 4 podobnych. Kazdy z nich bedzie mial wewnetrzna baze danych podlaczona w docker-compose oraz kazdy bedzie puszczal podobne queries. Zastanawiam sie czy warto wydzielic pytania do bazy danych jako oddzieliny Docker komponent ze nie duplikowac kodu. Potem podlaczyc go jako jeden kompenent w docker-compose czy moze lepiej sie w to nie bawic i zostawic jak jest. ()

#programowanie #programista15k #docker #microservices
  • 7
@losbaltica mikroserwisy dość często zawierają pewną duplikacje kodu, to cena za niezależność. Pytanie brzmi czemu wiele mikroserwisów robi takie same query, generalnie mikroserwisy powinny mieć własne bazę danych, a nie jedna wspólną (nie do końca rozumiem jak ma być u Ciebie). Jeśli dużo mikroserwisów korzysta z dokładnie tych samych danych to trzeba by się zastanowić czy podział jest prawidłowy.
@losbaltica aaa tego typu podobieństwa. Hmm, no to można się zastanowić nad stworzeniem paczki (w c# pewnie jakiś nuget, nie wiem czego Ty używasz), gdzie upchniesz tego typu zależności. Ważne, żeby paczka była mała. Jak masz różne zadania powtarzalne z mikroserwisami to rozbij je na różne paczki np. jedna do bazy danych, jedna do wysyłania do kolejek itd. Można też powtarzać ten kod, zależy jak dużo go jest.
@losbaltica I serio dbaj o te dzielone paczki. Bo to jest źródło wszelkiego zła w mikroserwisach. :p wiele osób uważa, że wcale ich się nie powinno używać, bo taki bałagan nimi można zrobić :p