Arquitetando um Docker Swarm com armazenamento persistente

2

Estou tendo um pequeno problema para definir exatamente como desejo arquitetar meu cluster do Docker Swarm. Atualmente consiste em:

  • 1 MariaDB, que precisará ter armazenamento persistente adequado para um banco de dados.

  • 2 x servidores MediaWiki que precisam ter armazenamento persistente adequado para armazenar imagens, vídeos e outros arquivos de mídia.

  • Algum tipo de ingresso que mapeará um nome de domínio para cada um dos servidores MediaWiki com base no nome do domínio.

Eu poderia fazer algum feedback sobre possíveis maneiras de arquitetar isso. Idealmente, gostaria que todos os três servidores contivessem instâncias do aplicativo MediaWiki ou talvez 2 servidores e 1 servidor host dedicado para o banco de dados. Um aplicativo do MediaWiki recebe cerca de 20x o tráfego do outro, o que beneficiaria a execução em várias máquinas.

O problema que estou tendo é tentar manter os dados entre as implantações. Atualmente estou considerando algo como o CephFS com armazenamento em bloco montado em um host mestre e duas instâncias de escravo replicando a partir dele.

Eu também não explorei o componente de ingresso ainda, mas suponho que eu possa configurar algum tipo de servidor Nginx, idealmente com o Lets Encrypt ativado, que irá enviar tráfego para qualquer um dos nomes de host do MediaWiki, dependendo do nome de domínio recebido. isso pode ser uma suposição ingênua.

    
por Samuel 14.10.2017 / 05:33

1 resposta

1

Você está indo muito além do topo com ceph para armazenar imagens. Você está fadado ao fracasso.

Execute tudo no swarm, mas armazene sua mídia em um armazenamento em block como o AWS S3, por exemplo. Se você não usa um provedor com algo como S3, então procure em

link

Sua API é compatível com o S3. O benefício de ser a maioria dos principais softwares tem opções para o S3.

    
por 14.10.2017 / 05:38