O que acontece com o envio de eventos se o Kafka falhar?
Golang
O modelo com tags JSON (por exemplo, RegisterUserRequest) é um modelo de domínio? Como separar corretamente DTO e entidade de domínio?
Está familiarizado com a Arquitetura Hexagonal? Fale sobre a sua estrutura.
A Arquitetura Hexagonal consiste em três elementos: adaptador, porta e aplicação central. Como é processada uma requisição de entrada através do handler até ao modelo de domínio?
Como implementar o lado oposto — o padrão Inbox no lado do serviço de notificações? Como garantir a idempotência no processamento de eventos?
// Corrigir o código para que as solicitações sejam concorrentes e o código de resposta seja exibido // e em caso de erro, registá-lo e continuar o processamento 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 } // Processar resp se necessário } }
Já trabalhou com DDD e CQRS? Conte-nos sobre isso.
// Corrigir o código para que as solicitações sejam concorrentes e exibir o código de resposta // e em caso de erro, exibir o seu log e continuar o processamento 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() }
Numa arquitetura de microserviços, cada serviço tem a sua própria base de dados. Como funciona o padrão Outbox neste contexto se o Kafka ainda não recebeu a mensagem?
Fale sobre o padrão Transactional Outbox — como funciona e para que é usado.
O agregado funciona sempre ao nível de uma única transação. O que mais é importante saber sobre os agregados em DDD?