
Tenho vários e diferentes aplicativos dockerizados, cada um vem com seu serviço Nginx adequado, que envia tráfego para seus contêineres com base em algumas regras.
Preciso colocar esses aplicativos no mesmo servidor, então adicionei um novo Nginx no host que irá lidar com SSL e encaminhar o tráfego para o Nginx dockerizado correto.
Pergunta: Posso usar o Nginx no host que encaminhará o tráfego para vários Nginx dockerizados diferentes? Tem algum problema conhecido? isso afetará o desempenho?
Responder1
Posso usar o Nginx no host que encaminhará o tráfego para vários Nginx dockerizados diferentes?
Sim, na verdade é uma prática comum.
Tem algum problema conhecido?
Causado por esta configuração em si - não.
Isso afetará o desempenho?
De certa forma - claro: como qualquer outro balanceador de carga (o que é), ele adicionará algum atraso no buffer e nos soquetes TCP.
Responder2
Posso usar o Nginx no host que encaminhará o tráfego para vários Nginx dockerizados diferentes?
Sim. Esta é uma maneira de fazer isso.
Tem algum problema conhecido?
A instância host do NGINX não é conteinerizada, o que pode dificultar a configuração. Outra maneira comum de fazer isso é ter um contêiner docker vinculado à porta
80
e443
que lida com todo o tráfego de entrada e o desvia para o contêiner correspondente.Por fim, outros sistemas de orquestração de contêineres, como o Kubernetes, têm o conceito
Ingress
integrado e permitem que ele seja configurado da mesma forma que você configuraria um contêiner no Docker Compose. A vantagem do Kubernetes Ingress é que ele pode aumentar/reduzir para vários servidores, enquanto você fica mais limitado com o Docker Compose.Isso afetará o desempenho?
Ter um salto extra para chegar ao contêiner de destino prejudica negativamente o desempenho, mas é algo comum de se fazer.