Sobes.tech
Junior — Middle

Consegues nomear os principais tipos de canais de comunicação utilizados para transmitir informações?

sobes.tech IA

Resposta da IA

Os principais tipos de canais de comunicação para transmissão de informação incluem:

  • Sockets de rede (TCP/UDP): permitem trocar dados entre processos ou máquinas através da rede.
  • Canais (channels) em Go: mecanismo incorporado para transferência segura de dados entre goroutines.
  • Filas de mensagens (Message Queues): por exemplo, RabbitMQ, Kafka — usados para transmissão assíncrona de mensagens.
  • Variáveis partilhadas com sincronização: acesso a dados comuns usando mutexes ou outros primitivas.
  • Ficheiros e bases de dados: como meio de troca de dados entre processos.

Em Go, especialmente importantes são os canais, que permitem às goroutines trocar dados e sincronizar o seu trabalho sem usar bloqueios explícitos:

ch := make(chan int)

// Envio
go func() {
    ch <- 42
}()

// Receção
value := <-ch
fmt.Println(value) // 42

Assim, a escolha do canal depende dos requisitos específicos de velocidade, fiabilidade e arquitetura da aplicação.