> For the complete documentation index, see [llms.txt](https://wedocs.gitbook.io/wedocs-5.2/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wedocs.gitbook.io/wedocs-5.2/infraestrutura-instalacao-e-requisitos/visao-geral-and-descritivo-tecnico-da-ferramenta/arquitetura-de-instalacao-e-processador-do-servidor.md).

# Arquitetura de instalação e processador do servidor

A arquitetura de instalação do Weknow foi projetada para oferecer desempenho, estabilidade e escalabilidade, permitindo que os componentes da solução sejam instalados em um único servidor ou distribuídos entre múltiplos servidores, de acordo com as necessidades do ambiente.

Antes de iniciar a instalação, verifique se a infraestrutura atende aos requisitos mínimos de hardware e software descritos na documentação de requisitos do sistema.

***

### Componentes da arquitetura

A arquitetura do Weknow é composta pelos seguintes componentes principais:

* **Weknow Client**: aplicação utilizada pelos desenvolvedores para criação e manutenção de dashboards, indicadores, menus, usuários, fórmulas e demais recursos da plataforma.
* **Weknow Server**: responsável pelo gerenciamento de licenças, autenticação, conexões com bancos de dados e disponibilização dos serviços da aplicação.
* **Weknow Task Manager**:  responsável pela execução de processos agendados, sincronizações e demais tarefas automatizadas da plataforma.
* **Servidor Web (Apache)**: responsável pela publicação da interface web e pela comunicação entre clientes e serviços do Weknow.
* **Banco de dados PostgreSQL**: armazena as configurações e informações operacionais da plataforma.
* **DuckDB:** mecanismo de armazenamento offline dos metadados utilizado como padrão nas versões atuais da plataforma. Sua arquitetura embarcada proporciona alto desempenho para consultas analíticas e simplifica a administração do ambiente.

  **MonetDB:** permanece disponível como alternativa para ambientes existentes ou cenários específicos que utilizem essa tecnologia para armazenamento offline dos metadados.

***

### Modelos de implantação

#### Instalação em servidor único

Esta é a arquitetura mais comum para ambientes de pequeno e médio porte.

Todos os componentes do Weknow são instalados na mesma máquina, incluindo:

* Weknow Server;
* Weknow Task Manager;
* Apache;
* PostgreSQL;
* mecanismo de armazenamento offline dos metadados (**DuckDB**, por padrão, ou **MonetDB**, quando utilizado).

Sempre que possível, utilize um servidor dedicado exclusivamente ao Weknow para evitar competição por recursos com outras aplicações.

***

### Instalação distribuída

Em ambientes que exigem maior capacidade de processamento ou políticas específicas de infraestrutura, os componentes podem ser distribuídos entre diferentes servidores.

Por exemplo:

* **Servidor 1:** Weknow Server e Apache;
* **Servidor 2:** PostgreSQL;
* **Servidor 3 (quando aplicável):** tecnologia de armazenamento offline dos metadados (**DuckDB** ou **MonetDB**, conforme a configuração do ambiente).
* **Servidor 4:** Weknow Task Manager.

Quando os componentes forem distribuídos, cada máquina deverá atender aos requisitos mínimos correspondentes ao serviço executado.

***

### Arquitetura do processador

O desempenho do Weknow está diretamente relacionado à disponibilidade de múltiplos núcleos de processamento, permitindo a execução paralela de seus serviços.

#### Requisito mínimo

O servidor deve possuir, no mínimo:

* 2 núcleos de processamento;
* Frequência igual ou superior a 2,0 GHz.

#### Processadores recomendados

Para ambientes de produção, recomenda-se utilizar processadores da linha:

* Intel Xeon;
* AMD EPYC;
* ou equivalentes de categoria servidor.

Também é possível utilizar processadores Intel Core ou AMD Ryzen em ambientes de desenvolvimento, homologação ou instalações de pequeno porte, desde que atendam aos requisitos mínimos de desempenho.

Quanto maior o número de usuários simultâneos e tarefas agendadas, maior será o benefício obtido com processadores de múltiplos núcleos e maior capacidade de processamento.

***

### Restrição para ambientes com apenas um núcleo lógico

O Weknow utiliza múltiplos serviços executados simultaneamente, incluindo o Apache e o módulo Servidor DataSnap REST.

Em ambientes com apenas um núcleo lógico disponível (1 processador, 1 núcleo físico e 1 núcleo lógico), o módulo Servidor DataSnap REST do Apache pode não iniciar corretamente, o que pode impedir ou bloquear a inicialização do servidor web.

Por esse motivo, não é recomendada a utilização de ambientes com apenas um núcleo lógico.

***

### Ambientes virtualizados

O Weknow pode ser executado em máquinas virtuais, desde que os recursos de hardware alocados atendam aos requisitos mínimos definidos para instalação.

Ao utilizar virtualização, recomenda-se reservar recursos dedicados para evitar contenção de CPU, memória ou armazenamento causada por outras máquinas virtuais hospedadas no mesmo servidor físico.

Sempre que possível, utilize discos SSD NVMe e reserve recursos exclusivos para a máquina virtual que hospedará o Weknow.

***

### Considerações sobre escalabilidade

À medida que aumentam o número de usuários, dashboards, integrações e processos agendados, pode ser necessário ampliar a capacidade do ambiente.

O dimensionamento deve considerar fatores como:

* quantidade de usuários simultâneos;
* volume de dados processados;
* número de sincronizações automáticas;
* frequência de atualização dos indicadores;
* consultas executadas pelo ambiente analítico.

Nesses cenários, recomenda-se revisar periodicamente a infraestrutura para garantir o desempenho esperado da plataforma.

***

### Considerações finais

A instalação do Weknow em servidores compartilhados com aplicações que consomem intensivamente CPU, memória ou disco pode comprometer o desempenho geral da solução e dificultar a identificação de problemas de infraestrutura.
