Migração de serviços separados

Conforme a sua plataforma é utilizada e o número de dispositivos registrados cresce, pode ser necessário redistribuir ou mover certos serviços para outros diretórios ou servidores. Isso geralmente ocorre com serviços de banco de dados e web. Recomenda-se fortemente que os serviços de backend (serviços Java) permaneçam no local original de instalação.

A migração do banco de dados e do site atualmente se aplica apenas a uma instalação "clássica", na qual a plataforma é instalada como um serviço do sistema. A plataforma em Docker atualmente existe como all-in-one e não implica distribuição para múltiplos servidores.

Migração do banco de dados

Dependendo dos seus objetivos, pode ser necessário mover o banco de dados para um diretório personalizado no servidor ou migrá‑lo para um servidor separado.

Diretório personalizado do banco de dados

Por padrão, os arquivos do banco de dados estão localizados dentro de um subdiretório designado no diretório do MySQL: /var/lib/mysql. Suponha que seja necessário mover o banco de dados para um diretório personalizado chamado /DB. Para isso, execute os seguintes passos:

  1. Crie subdiretórios para arquivos e logs, por exemplo:

/DB/mysql-files 
/DB/mysql-log

2. Altere o proprietário para mysql e as permissões para drwxr-x---

chown mysql:mysql mysql-files 
chown mysql:mysql mysql-log 
chmod 750 mysql-files 
chmod 750 mysql-log

3. Pare o mysql: systemctl stop mysql.

4. Copie (não mova) os arquivos de var/lib/mysql e var/log/mysql para os diretórios novos correspondentes

5. Edite a configuração em /etc/mysql/mysql.conf.d/mysqld.cnf. Altere datadir e log error para as novas strings/valores.

6. Inicie o mysql: systemctl start mysql. Verifique o seu error.log em busca de erros.

Movendo o banco de dados para servidor separado

Se for necessário mover o banco de dados para um servidor separado (por exemplo, para balanceamento de carga), é preciso executar os seguintes passos.

  1. Instale o MySQL da mesma versão no novo servidor.

  2. Faça um backup do seu banco de dados.

  3. Restaure o backup no novo servidor e inicie o banco de dados.

  4. Altere a configuração dos serviços Java: api-server, sms-server, tcp-server. No diretório de cada serviço há um db.properties arquivo que especifica os parâmetros de conexão do banco de dados. Por exemplo, em Linux tais arquivos estão localizados nos seguintes caminhos:

  • /home/java/api-server/conf/db.properties

  • /home/java/sms-server/conf/db.properties

  • /home/java/tcp-server/conf/db.properties Edite cada arquivo e altere localhost para o endereço IP do seu novo servidor de banco de dados. Preserve todo o conteúdo restante.

  1. Salve os arquivos e reinicie os serviços Java.

  2. Verifique o funcionamento dos serviços e seus logs. Se eles não conseguirem iniciar, verifique a conexão com o novo servidor na porta 3306 (porta padrão do MySQL).

Migração do servidor web

Normalmente, o site (frontend) é hospedado no mesmo servidor que os serviços Java (backend), e isso é o caso da maioria dos servidores de nossos clientes, inclusive os maiores. Contudo, pode ser desejável hospedar o servidor web e todos os arquivos do website em um servidor dedicado para uma gestão de carga e acesso de rede mais flexível.

Para realizar isso, será necessário fazer o seguinte:

  1. Instale o Nginx no servidor dedicado.

  2. Mova os diretórios do frontend para o novo servidor:

  • /etc/nginx

  • /var/www

  1. Verifique o navixy.conf e navixy_ssl.conf (se existir) e especifique o {backend_server} endereço — onde os serviços Java estão hospedados — nas seguintes linhas:

location / { 
    proxy_pass http://{backend_server}:8084; 
    } 
location /console  { 
    proxy_pass http://{backend_server}:8383/console; 
    } 
location /event {  
    proxy_pass http://{backend_server}:8084/event;
    }
location /file/upload/ { 
    proxy_pass   http://{backend_server}:8084/file/upload/; 
    } 
location /file/dl/ { 
    proxy_pass   http://{backend_server}:8084/file/dl/; 
    }
  1. Inicie o Nginx.

Atualizado

Isto foi útil?