Por que o código com canal e mutex não funcionará (qual é a causa do deadlock)?
Golang
As leituras eram feitas com o mestre, com a réplica ou como eram distribuídas?
O sistema começou a ficar lento — como vais procurar a causa?
Consegues recordar uma situação em que algo quebrou e o que fizeram?
Usou chaves para particionar no Kafka?
Tem um bilhete militar na mão?
Em que ordem as goroutines serão executadas e por quê?
Fala-me de uma ocasião em que propuseste uma iniciativa e a defendeste.
Qual formato de trabalho preferes?
Como exatamente você integrou o cliente Kafka no projeto, como usou?
// Corrigir o código func FixProblem() { var wg sync.WaitGroup ch := make(chan string, 5) mu := sync.Mutex{} for i := 0; i < 5; i++ { wg.Add(1) go func(ch<- string, i int, wg *sync.WaitGroup) { defer wg.Done() mu.Lock() defer mu.Unlock() msg := fmt.Sprintf("Goroutine %s", strconv.Itoa(i)) ch <- msg }(ch, i, &wg) } for { select { case q := <-ch: fmt.Println(q) } } wg.Wait() }
Estás territorialmente em Moscovo?
Como resolveram se, ao atualizar os pods, as solicitações se perdiam?
pacote principal importar "fmt" func main() { nums := make([]int, 1, 2) fmt.Println(nums) // appendSlice(nums, 1024) fmt.Println(nums) // mutateSlice(nums, 1, 512) fmt.Println(nums) // } func appendSlice(sl []int, val int) { sl = append(sl, val) } func mutateSlice(sl []int, idx, val int) { sl[idx] = val }
As tarefas sempre vinham bem descritas? Como agia em caso de descrição incompleta?
O que acontece com as chaves antigas e novas ao crescer o mapa? Por que não copiar tudo de uma vez?
Alguma vez ajustou o número de partições dentro de um tópico Kafka?