Ce se întâmplă cu trimiterea evenimentelor dacă Kafka cade?
Golang
Cunoașteți arhitectura hexagonală? Vorbiți despre structura sa.
Este model cu etichete JSON (de exemplu, RegisterUserRequest) este un model de domeniu? Cum se separă corect DTO și entitatea de domeniu?
Arhitectura hexagonală constă din trei elemente: adaptor, port și aplicație centrală. Cum este procesată o cerere de intrare prin intermediul handler-ului până la modelul de domeniu?
Cum se implementează partea inversă — modelul Inbox pe partea serviciului de notificări? Cum se asigură idempotenta procesării evenimentelor?
// Corectează codul astfel încât cererile să fie concurente și să se afișeze codul de răspuns // și în caz de eroare, să se înregistreze și să continue procesarea 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 } // Procesați resp dacă este necesar } }
Ați lucrat vreodată cu DDD și CQRS? Povestiți despre asta.
// Corectează codul astfel încât solicitările să fie concurente și să afișeze codul de răspuns // și în caz de eroare, afișează jurnalul și continuă procesarea 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() }
Într-o arhitectură de microservicii, fiecare serviciu are propria bază de date. Cum funcționează pattern-ul Outbox în acest context dacă Kafka nu a primit încă mesajul?
Vorbiți despre modelul Transactional Outbox — cum funcționează și pentru ce este folosit.
Agregatul funcționează întotdeauna la nivelul unei singure tranzacții. Ce altceva este important de știut despre agregate în DDD?