#programowanie
mam pytanie z architektury, czy to dobra praktyka puszczać w jednym mikroserwisie serwer http i event listenera?
wombatDaiquiri

@slime-mold mikroserwisy to według niektórych (w tym mnie) zła praktyka, więc pytanie jest tendencyjne.


Generalnie moim zdaniem jak działa to dobra praktyka, a jak się rozjebie to wniosek na przyszłość.

slime-mold

@wombatDaiquiri co było jest dla Ciebie największym problemem, złożoność?

Tomek07

@wombatDaiquiri a jaka praktyka jest lepsza?

wombatDaiquiri

@slime-mold @Tomek07 najlepsza jest praktyka "to zależy"


Nie wiem nawet, co rozumiecie przez "mikroserwisy", więc pytanie "czy jest dobrą praktyką" nie ma sensu. Możecie mówić tylko o używaniu dockera, możecie zastąpić wszystkie funkcje lambdami które się wołają.


A ze "złą praktyką" chodziło mi o to, że wbijanie rozwiązania we framework zgodnie z "najlepszymi praktykami" to przeważnie nieootymalna praktyka.


Zapytam inaczej - czemu Cię obchodzi, czy to dobra praktyka?

slime-mold

@wombatDaiquiri

Zapytam inaczej - czemu Cię obchodzi, czy to dobra praktyka?


Źle się wyraziłem, zrobiłem coś co działa, ale czuję ten nieopisany "smród"; powinnenem zapytać czy to dobry pomysł

wombatDaiquiri

@slime-mold to ja bym się nie przejmował. Dobra robota i gratulacje że udało ci się zrobić działający produkt

Tomek07

@wombatDaiquiri w sumie takie odpowiedzi się spodziewałem.

ZyGi

@slime-mold o Hui... Ale mamy wysyp ludzi co się za dużo naoglądali wykładów ewangelistów na jutubie... Co do zasady jak ktoś się nie zna to Ci odpowie z miejsca tak albo siak, bez kontekstu (szansa na sukces 50%) Jak ktoś będzie na tyle doświadczony, że się szczai że się jeszcze nie zna, ale lubi się wypowiedzieć to Ci będzie próbował sprzedać na 10 sposobów sentencje "to zależy" tak żeby to wyglądało mądrze, ale broń Boże nie mówiąc dlaczego i od czego to zależy... Ewentualnie Ci powie, że nie jest fanem koncepcji ogólnie - o co nikt nie pytał... I oczywiście stwierdzenie to będzie poparte dokładnie niczym, mimo że dla rzeczowości wymaga jeszcze więcej komentarza niż do po rzygu oklepane "to zależy" ...

<br />

Wracając do twojego pytania:


Co do zasady jeśli nie istnieje żaden imperatyw techniczny za takim podejściem to w środowisku mikroserwisowym serwer danych i event listener nie powinny być nigdy w jednym serwisie, a nawet w jednym codebase. To są dwie skrajnie niepodobne w naturze funkcje korzystające z reguły z zupełnie innych technologii. Jeśli nie istnieją jakieś bardzo specyficzne przesłanki to powinny żyć oddzielnie, chyba że:


  • system jest na tyle prosty i wydajny w odniesieniu do obciążenia, że nie ma po co robić mikroserwisów i lepiej zrobić monolit

  • system jest w fazie prototypownia albo dzielenia monolitu i na te chwile wygodniej mieć to razem trzymane bo obie funkcje biją w tę samą bazę
slime-mold

@ZyGi Dzięki!

Kontekst jest taki, że nie mam danych w db tylko w pamięci, backend skończą mi robić pewnie za rok; ale co ja Ci będę tutaj płakał

Vuaaas

@slime-mold Jak robisz u siebie to daj dwa osobne, a jak u obcego to w jednym. Ja nawet u siebie dałem w jednym. #pdk Jeśli masz dwa systemy np. serwer http z API aplikacji oraz eventy np. wysyłające maile a między nimi kolejkę, to czy wywalenie się API może blokować wysyłanie skolejkowanych maili? A gdybyś chciał dodać kolejny serwis http z panelem administracyjnym to wolałbyś robić wysyłanie maili 2 razy czy podpiąć ze sobą nowy http z istniejącymi eventami do wysyłania maili? Agile działa tak że nie tworzysz architektonicznego molocha przewidując wszystkie możliwe przypadki rozwoju oprogramowania, tylko iteracja po iteracji refaktorujesz to co potrzeba jak zmieniają się wymagania. Także jeśli na razie eventy te będą wykorzystywane z jednego miejsca to niech tak zostanie, może nigdy nie trzeba będzie tego zmieniać. Ale jeśli istnieje dość duże prawdopodobieństwo że będzie inaczej (jak w przykładzie z mailami) to dawaj od razu w osobnym mikroserwisie.

slime-mold

@Vuaaas dzięki, lubię Twoje podejście

slime-mold

@wombatDaiquiri @ZyGi @Vuaaas @Tomek07

Fajnie se was poczytać, zawsze coś nowego wpadnie.

Brakowało mi tego po rozwodzie z wykopem

Zaloguj się aby komentować