¿Qué sucede con el envío de eventos si Kafka se cae?
Golang
// Corregir el código para que las solicitudes sean concurrentes y se muestre el código de respuesta // y en caso de error, mostrar su registro y continuar con el procesamiento 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() }
¿Es un modelo con etiquetas JSON (por ejemplo, RegisterUserRequest) un modelo de dominio? ¿Cómo separar correctamente DTO y entidad de dominio?
¿Está familiarizado con la Arquitectura Hexagonal? Cuente sobre su estructura.
¿Cómo se procesa la solicitud entrante a través del manejador hasta el modelo de dominio en una arquitectura hexagonal, que consta de tres elementos: adaptador, puerto y aplicación central?
¿Cómo implementar el lado opuesto — el patrón de bandeja de entrada en el servicio de notificaciones? ¿Cómo garantizar la idempotencia en el procesamiento de eventos?
// Corrige el código para que las solicitudes sean concurrentes y se muestre el código de respuesta // y en caso de error, se registre y continúe el procesamiento 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 } // Procesar resp si es necesario } }
¿Alguna vez ha trabajado con DDD y CQRS? Cuente sobre ello.
El agregado siempre funciona a nivel de una sola transacción. ¿Qué más es importante saber sobre los agregados en DDD?
En una arquitectura de microservicios, cada servicio tiene su propia base de datos. ¿Cómo funciona el patrón Outbox en este contexto si Kafka aún no ha recibido el mensaje?
Cuéntenos sobre el patrón Transactional Outbox: cómo funciona y para qué se utiliza.