
Temos 3 servidores, cada um executando RHEL 7.6. Cada máquina possui 64G de RAM e 15 CPUs.
Estamos nos preparando para instalar um conjunto de serviços --- kafka
, zookeeper
, schema registry
--- em todas as máquinas. Cada serviço é baseado em um contêiner docker.
Estamos planejando instalar o docker em todas as máquinas, e cada máquina terá três contêineres docker.
Os contêineres docker têm um impacto negativo quando todos os contêineres fazem parte do disco do sistema operacional? Devemos adicionar discos adicionais em cada máquina e alocar os contêineres docker no disco adicional? Qual é a melhor prática aqui?
Responder1
Vou responder do ponto de vista teórico, não tenho experiência com Kafka no Docker.
Docker é em grande parte uma tecnologia de isolamentoNÃO é uma máquina virtual. Isso significa que é muito mais leve do que você imagina. Uma grande parte dela é construída em tornoespaços para nomee montagens incluindovincular montagens.
Vai depender um pouco do que você está pedindo para o Docker fazer:
Se você usar ummontar montagemou umVolume do Dockerentão, eles são armazenados diretamente como arquivos no sistema host. Sua sobrecarga de desempenho não deve ser maior do que uma montagem vinculada do Linux, porque é exatamente isso que você obtém. Essa sobrecarga de desempenho é próxima de zero.
Outros volumes de armazenamento, comoaqueles apoiados pelo Amazon S3pode vir com uma sobrecarga.
Resumindo, o resultado no disco geralmente deve ser muito semelhante ao da execução no sistema host. O Docker apenas cria uma sandbox organizada e a chama de contêiner.