Wpis z mikrobloga

#programowanie #programista15k #csharp
Siema mirasy,
Mam taki problem - mamy zewnętrzną zależność, która ma ograniczoną przepustowość do X req/min. Inne elementy systemu mają znacząco wyższą przepustowość, więc mamy wąskie gardło. Szczęśliwie owa zależność ma możliwość "batch update". Teraz co bym chciał zrobić - stworzyć komponent, który zgrupuje requesty i uderzy do danego serwisu - powiedzmy raz na minutę, żeby wrzucić wszystko co w międzyczasie się wydarzyło. Pytanie brzmi - jak się nazywa wzorzec, który coś takiego robi - pytam, bo chciałbym zobaczyć jak to jest projektowane i potencjalnie uniknąć błędów, które inni już popełnili i dawno znaleźli rozwiązanie.
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Yahoo_: To zależy czy klienci, którzy będą dostarczali dane będą czekać na odpowiedź z batching requestu czy po prostu dostarczają dane i dostają 200 i nie czekają na wynik batch update.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@Yahoo_: ja bym to nazwał batch job scheduling. Ostatnio miałem na firebase+cloud function. U mnie chodziło żeby uaktualnienia z ostatnich 10 minut których może być wiele wysłać tylko raz na te 10 minut. Z racji tego że systemy były w różnych częściach świata to szybko wyczerpałem limit max execution time i musiałem przerobić z pojedynczego przetwarzania na zbiorcze, czyli pobierałem z jednego systemu wszystkie dane jednym requestem, potem z drugiego
  • Odpowiedz
@Yahoo_: W takim wypadku tak jak pisze @sokytsinolop - ustawiasz najlepiej Kafke (która dostarcza persystencje, kolejnosc, skalowalnosc), która jest wysoce dostępna i transakcyjna, a kafka-external gateway ktory sobie dorobisz konsumuje i wrzuca na zewnątrz.

Nie znam nazwy patterna, ale stosowane bardzo powszechnie.
  • Odpowiedz
@kobrys13: tak jestem w przeciwieństwie do ciebie - niby co mu ma dać ta kafka tutaj? W czym to ma być lepsze, biorąc pod uwagę problem opa, od dosłownie czegokolwiek innego wliczając w to najzwyklejszy local storage?

Skonsumujesz to po "drugiej stronie" i co dalej?
  • Odpowiedz
Bądź mniej agresywny to pogadamy...


@kobrys13: ale to ty mnie zaatakowałeś

yyy? jesteś poważny?


ja nawet nic do ciebie nie pisałem xD czemu mam dla ciebie być miły skoro mnie bezpośrednio wyzywasz od niepoważnych?
  • Odpowiedz