Conteúdo
Visão geral
O objetivo deste artigo é explicar como criar um aplicativo de CRM, crítico para uma empresa como Odooaltamente escalável. Além disso, como configurá-lo em alta disponibilidade para ser tolerante a falhas e como reforçar a segurança do acesso a ele.
O que é alta disponibilidade?
A alta disponibilidade é a qualidade de um sistema ou componente que garante um alto nível de desempenho operacional, normalmente o tempo de atividade, por um período de tempo maior que o normal.
O que é o odoo?
Odoo (Aka OpenERP) é um software de código aberto que integra todas as necessidades de negócios, incluindo CRM, faturamento, contabilidade, website, gerenciamento de armazéns e projetos, manufatura, inventário e muito mais!
Configurando o Balanceador de Carga Zevenet
Com Zevenet Balanceador de carga, podemos garantir alta disponibilidade e se preparar para a escalabilidade em massa para Odoo serviços seguindo as etapas abaixo.
Observe que, para seguir essas instruções, será necessário instalar uma instância de Zevenet Balanceador de Carga e várias instâncias de Odoo formulários. Além disso, é muito importante que o Postgresql são replicados entre eles, a fim de garantir a consistência.
O ambiente que vamos descrever neste artigo é mostrado abaixo.
Etapa 1: criar um IP virtual
A criação de um IP virtual no balanceador de carga é necessária, pois será o ponto de entrada para Odoo Serviços. Em nosso exemplo, teremos dois Odoo servidores reais, mas você pode incluir tanto quanto você precisar, sem qualquer limitação. Para criar um novo IP virtual, a partir do Zevenet Menu principal LB, selecione Configurações-> Interfaces.
Encontre a interface física onde você deseja criar um IP virtual e sob Opções clique no botão adicionar interfaces de rede virtual.
Digite o endereço e a máscara de rede do seu novo IP virtual, ele deve estar na mesma sub-rede que o dispositivo físico. Salve clicando no botão salvar interface virtual.
Etapa 2: criar farm http
Um farm é uma coleção de servidores de computador que fornecem funcionalidade de servidor, aumentando significativamente sua capacidade. Então, montando uma fazenda de Odoo servidores, aumentaremos seu desempenho e escalabilidade, o que é essencial para alta disponibilidade. Para conseguir isso, vá para Gerenciar-> Fazendas.
Clique em Adicionar nova fazenda e na nova janela, selecione um nome e HTTP como perfil. Selecionamos o perfil HTTP porque é a melhor opção para serviços da web e é necessário para analisar o conteúdo do aplicativo para fornecer persistência no nível do aplicativo.
Mais duas opções serão exibidas. Selecione o IP virtual criado na etapa 1 e uma porta (no exemplo, escolhemos 80, como é o padrão para o protocolo HTTP) e clique no Salvar botão.
Para mais informações sobre fazendas, por favor consulte Gerenciar :: farms.
Etapa 3: adicionar o serviço
Depois que o farm foi criado, precisamos editá-lo para adicionar um novo serviço. Por favor, clique no botão editar fazenda.
Vários detalhes do farm podem ser editados, agora vamos manter os valores padrão e adicionar um novo serviço.
Na imagem acima, encontre o Adicionar seção de serviço, digite o nome do serviço e clique em Adicionar.
Por enquanto, vamos deixar os valores padrão e só adicionaremos os backends onde o Odoo serviços reais serão executados. Encontre a seção de backends e clique no botão Adicionar servidor real.
Inclua os endereços IP e portas do Odoo serviços (padrão 8069 para serviços Odoo), tempo limite e peso e clique em salvar servidor real.
É necessário para evitar a comutação do servidor: se durante a nossa sessão saltarmos de um servidor para outro, haverá eficiência, perda de dados e até mesmo comunicação. Para evitar esse comportamento, o Sessão de persistência opção deve ser configurada. Optaremos por manter uma sessão por ID de sessão, o que significa que, durante uma sessão, nos conectaremos a apenas um servidor.
Nos parâmetros globais do serviço, agora podemos alterar o campo da sessão de persistência para COOKIE: um determinado cookie e clique em modificar.
inserção session_id como identificador de sessão de persistência e clique em modificar.
Finalmente, devemos aplicar as alterações reiniciando o farm.
Parabéns! você configurou o Odoo em alta disponibilidade. Você pode acessá-lo digitando http://[VIRTUAL_IP]:[PORT] (no nosso exemplo http://192.168.56.200).
Etapa 4: verificação de integridade avançada
Agora, configuraremos o responsável pelo farm para executar verificações de integridade avançadas nos back-ends, garantindo que eles estejam funcionando corretamente e o comportamento correto do aplicativo, e não apenas a verificação da porta TCP. Por favor localize o Guardião da Fazenda dentro do Odoo serviço que configuramos na etapa 3. Clique em Use FarmGuardian para verificar os servidores de back-end, você também pode modificar o tempo entre a verificação e, finalmente, no Comando para verificar caixa de texto, digite o seguinte comando:
check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s '</html>'
Finalmente, clique em modificar.
O comando check_http testa conexões HTTP com o host especificado. No nosso caso, estamos usando as seguintes opções:
-EU HOSPEDO: O token HOST será substituído pelo endereço IP de back-end definido.
-w 10: tempo de resposta para resultar no status de aviso: segundos 10
-c 10: tempo de resposta ao status crítico: segundos 10
-t 10: 10 segundos antes do tempo limite da conexão
-e 200: espera que a string 200 no status da resposta do servidor
-p PORT: O token PORT será substituído pela porta backend definida.
-s ' ': a string a esperar no conteúdo é ' '
Esta verificação de saúde avançada garante que obtenhamos uma resposta 200 OK dos servidores reais e que o comando de resposta contém a string '. Selecionamos esta string porque ela está no final da resposta, dessa forma podemos garantir que obteremos uma resposta correta do aplicativo de back-ends.
Etapa 5: alta segurança
Odoo não fornece um canal seguro para comunicação na web, mas podemos facilmente conseguir isso com Zevenet Balanceador de carga como mostrado abaixo.
Precisamos configurar um ouvinte HTTPS: no Editar parâmetros globais do farm tela, altere o ouvinte do farm de HTTP para HTTPS e Porta virtual para 443.
Nesta fase, Odoo pode ser acessado digitando https://[VIRTUAL_IP] no seu browser.
As comunicações seguras estão agora em execução, mas podemos ir mais além configurando as cifras HTTPS: dentro dos parâmetros globais do farm, localize Configurações HTTPS seção. Nós podemos mudar as cifras para Alta seguranca.
O campo ciphers é usado para criar uma lista de cifras aceitas pelo servidor HTTPS para proteger a conexão SSL. Selecionando Alta seguranca, vamos definir por padrão as cifras.
kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED
Outra opção é o Certificados HTTPS disponíveis: uma lista de certificados será mostrada para ser selecionada para o farm atual (somente para farms HTTP, que é o nosso caso). Podemos selecionar um da lista e clicar em Adicionar. Finalmente, clique em modificar e reinicie o farm para aplicar as alterações.
Finalmente, o zencert.pem O certificado pode ser usado para testar o ouvinte HTTPS, mas é importante usar seu próprio certificado SSL.
Para mais informações, por favor consulte Fazendas de perfis HTTP.
Passo 6: Base Web Odoo
Odoo constrói a URL levando em conta sua configuração web.base.url. Se nós acessamos através Zevenet Load Balancer, veremos a mudança de URL para a URL do back-end. Como configuramos comunicações seguras por meio de HTTPS, isso pode representar um problema e só podemos navegar para o Odoo URL base. Para evitar isso, devemos definir web.base.url parâmetro em cada odoo servidor.
Para isso, acesse cada backend, e no painel esquerdo, vá para Técnico >> Parâmetros >> Parâmetros do sistema e mude o web.base.url ao Zevenet IP virtual e porta do Load Balancer selecionados para o farm do odoo. Em nosso exemplo seria https: // 192.168.56.200, ou melhor ainda, https://odoo.mycompany.com.
Os recursos técnicos podem estar desativados. Se for esse o caso, as opções técnicas não estarão disponíveis. Para resolver isso, selecione Usuários >> Usuários, edite o usuário atual e ative o Características Técnicas opção abaixo Usabilidade.
Passo 7: Ooo filestore
Existem várias opções para configurar o armazenamento de arquivos em Alta disponibilidade.
1. Em cada backend, podemos montar um armazenamento compartilhado e configurar o caminho local através do parâmetro ir_attachment.location sob a secção Configurações >> Técnico >> Parâmetros >> Parâmetros do sistema.
2. Se não tivermos uma unidade para fornecer alta disponibilidade do recurso compartilhado para o armazenamento de arquivos, podemos usar o Zevenet para criá-lo para um NFS (Network File System) para ser montado em cada backend. Como este serviço usa portas TCP e UDP, podemos criar um L4xNAT através de todas as portas sob um certo IP Virtual, que será usado para configurar a montagem automaticamente no momento da inicialização através do / etc / fstab arquivo.
3. Outra opção é configurar SSHFS que usa o serviço seguro SSH para usar um sistema de arquivos compartilhado remoto. Como o serviço SSH usa a porta TCP 22 por padrão, ela pode ser balanceada por meio de um L4xNAT sem preocupação de maneira semelhante ao caso do NFS.
Dependendo se for necessário criar um recurso de armazenamento de arquivos compartilhado ativo-ativo ou ativo-passivo, será necessária uma replicação ou sincronização dos arquivos.
Embora este tópico esteja fora do escopo deste artigo, ele será abordado em um artigo dedicado.
Agora, seus processos e operações de negócios estão prontos para escalar o Odoo em Alta Disponibilidade com o Zevenet, divirta-se!