Čo sa stane s odosielaním udalostí, ak Kafka spadne?
Golang
// Opravte kód tak, aby požiadavky boli konkurenčné a zobrazovali kód odpovede // a v prípade chyby zobrazte jej protokol a pokračujte vo spracovaní package main import "net/http" var addrs = []string{"[link] "[link] "[link] "[link] "[link] "[link] "[link] func main() { var wg sync.WaitGroup data := make(map[string]bool) for _, url := range addrs { wg.Add(1) if !data[url] { data[url] = true go func(url string) { defer wg.Done() resp, err := http.Get(url) if err != nil { log.Println(err) return } log.Println(resp.StatusCode) }(url) } } wg.Wait() }
Je model s JSON tagmi (napr. RegisterUserRequest) doménový model? Ako správne rozdeliť DTO a doménovú entitu?
Poznáte hexagonálnu architektúru? Porozprávajte o jej štruktúre.
Šesťuholníková architektúra pozostáva zo štyroch prvkov: adaptér, port a centrálna aplikácia. Ako sa spracováva prichádzajúca požiadavka cez handler až po doménový model?
Ako implementovať opačnú stranu — vzor Inbox na strane služby oznámení? Ako zabezpečiť idempotentnosť spracovania udalostí?
// Opravte kód tak, aby požiadavky boli konkurencieschopné a zobrazoval sa kód odpovede // a v prípade chyby ho zaznamenajte do logu a pokračujte v spracovaní package main import "net/http" var addrs = []string{"[link]"} func main() { for _, url := range addrs { resp, err := http.Get(url) if err != nil { log.Error(err) continue } // Spracovať resp, ak je potrebné } }
Pracovali ste niekedy s DDD a CQRS? Porozprávajte o tom.
Agregát vždy pracuje na úrovni jednej transakcie. Čo je ešte dôležité vedieť o agregátoch v DDD?
V mikroservisnej architektúre má každý služba svoju databázu. Ako funguje vzor Outbox v tomto kontexte, ak Kafka ešte nedostala správu?
Povedzte nám o vzorec Transactional Outbox — ako funguje a na čo slúži?