Kas notiek ar notikumu sūtīšanu, ja Kafka nokrīt?
Golang
// Pakeiskite kodą taip, kad užklausos būtų konkurencingos ir būtų rodomas atsakymo kodas // ir klaidos atveju, parodykite jos žurnalą ir tęskite apdorojimą 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() }
Vai modelis ar JSON marķējumiem (piemēram, RegisterUserRequest) ir domēna modelis? Kā pareizi atdalīt DTO un domēna vienību?
Vai jūs pazīstat sešstūra arhitektūru? Pastāstiet par tās struktūru.
Kā ienākošais pieprasījums caur handleri tiek apstrādāts līdz domēna modelim heksagonālajā arhitektūrā, kas sastāv no trim elementiem: adaptera, porta un centrālās lietojumprogrammas?
Kā īstenot pretējo pusi — Inbox modeļa ieviešanu paziņojumu pakalpojumā? Kā nodrošināt notikumu apstrādes idempotentību?
// Labo labo labojiet kodu tā, lai pieprasījumi būtu konkursa un tiktu rādīts atbildes kods // un kļūdas gadījumā, to reģistrējiet žurnālā un turpiniet apstrādi 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 } // Apstrādājiet resp, ja nepieciešams } }
Agregāts vienmēr darbojas vienas transakcijas līmenī. Kas vēl ir svarīgi zināt par agregātiem DDD?
Vai jūs kādreiz esat strādājis ar DDD un CQRS? Pastāstiet par to.
Mikroservisu arhitektūrā katram servisam ir sava datu bāze. Kā darbo Outbox paraugs šajā kontekstā, ja Kafka vēl nav saņēmusi ziņojumu?
Pastāstiet par Transactional Outbox paraugu — kā tas darbojas un kam tas tiek izmantots?