Co se stane s odesíláním událostí, pokud Kafka spadne?
Golang
Je model s JSON tagy (například RegisterUserRequest) doménovým modelem? Jak správně rozdělit DTO a doménovou entitu?
Znáte hexagonální architekturu? Povídejte o její struktuře.
Jak je příchozí požadavek zpracováván přes handler až do doménového modelu v hexagonální architektuře, která se skládá ze tří prvků: adaptér, port a centrální aplikace?
Jak implementovat opačnou stranu — vzor Inbox na straně služby notifikací? Jak zajistit idempotentnost zpracování událostí?
// Opravte kód tak, aby požadavky byly konkurenční a zobrazoval se kód odpovědi // a v případě chyby jej zaznamenejte do logu a pokračujte ve zpracování 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 } // Zpracovat resp, pokud je potřeba } }
Pracoval jste někdy s DDD a CQRS? Vyprávějte o tom.
// Opravte kód tak, aby požadavky byly konkurenční a zobrazovaly kód odpovědi // a v případě chyby zobrazte její protokol a pokračujte ve zpracování 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() }
V mikroservisní architektuře má každý servis svou vlastní databázi. Jak funguje vzor Outbox v tomto kontextu, pokud Kafka ještě nepřijala zprávu?
Povězte nám o vzoru Transactional Outbox — jak funguje a k čemu slouží?
Agregát vždy pracuje na úrovni jedné transakce. Co je ještě důležité vědět o agregátech v DDD?