Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
English |
Pagetitle | ByYou DBAccess - Configuração distribuída | ByYou DBAccess - Configuração distribuída |
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | |||||||
---|---|---|---|---|---|---|---|
TOTVS | DBAccess - Configuração distribuídaA topologia do TOTVS | DBAccess exige um serviço único para emular o controle de lock de registro ISAM. Para ser possível escalar a aplicação para atender a mais conexões simultâneas, o TOTVS | DBAccess pode ser configurado para trabalhar em uma configuração distribuída, onde um serviço do TOTVS | DBAccess é configurado como Master, que terá a função de centralizar o controle de acessos mutuamente exclusivos (locks), e os demais serviços devem ser configurados como Slaves, e através deles serão realizadas as conexões e operações com o SGBD. Abrangência | A configuração distribuída não é diretamente responsável por fazer distribuição da carga ou das conexões. Deste modo, cada serviço do TOTVS | Application Server deve ser explicitamente configurado para realizar as conexões de dados em um TOTVS | DBAccess "Slave", onde o balanceamento efetivo das conexões já foi realizado pelo engine de balanceamento do TOTVS | Application Server, e cada TOTVS | DBAccess "Slave" é configurado para apontar para o "Master" para fazer as operações de lock. Topologia sugeridaPartindo de um ambiente hipotético com 3 servidores, nomeados SRVDB, SRVAPP1 e SRVAPP2, onde o servidor de banco de dados possui um banco MSSQL Server e um TOTVS | DBAccess e os servidores APP1 e APP2 possuam cada um 4 serviços do TOTVS | Application Server, configurados em modo de balanceamento de carga, neste cenário os serviços do TOTVS | Application Server de todos os equipamentos apontam para um único TOTVS | DBAccess, instalando na máquina de banco (SRVDB), onde têm um ODBC configurado para o TOTVS | DBAccess.
Nesse cenário, a seguinte topologia é sugerida: ProcedimentoPara implementar a configuração distribuída do TOTVS | DBAccess, são necessários os seguintes passos:
Para configurar o TOTVS | DBAccess para modo de conexão Master, deve-se abrir o arquivo de configuração (dbaccess.ini), do TOTVS | DBAccess, e na seção [General] inserir a chave Mode. Mode=Master Para configurar os TOTVS | DBAccess para modo Slave, deve-se abrir o arquivo de configuração (dbaccess.ini) e configurar as seguintes chaves: Mode=SlaveMasterServer=<IP>MasterPortSlaveMasterServer=<IP> MasterPort=<Port> Onde <IP> e <Port> correspondem ao IP e Porta do TOTVS | DBAccess Master que será utilizado como servidor de locks para os demais TOTVS | DBAccess Slave. Características operacionais da configuração distribuídaUm TOTVS | DBAccess Slave somente consegue estabelecer conexão com o banco de dados, se conseguir conectar primeiro com o TOTVS | DBAccess Master. Caso o TOTVS | DBAccess Master não esteja no ar ou esteja configurado de forma incorreta, o TOTVS | DBAccess retornará erro de conexão -43 ao TOTVS | Application Server. O TOTVS | DBAccess Master é uma aplicação crítica e deve estar sempre no ar. Se o TOTVS | DBAccess Master for derrubado durante a operação do sistema (ERP), as conexões dos Slaves serão derrubadas assim que qualquer recurso que dependa do Master (Lock de registro, controle de numeração de tabelas. virtual lock, table cache). Para o TOTVS | Application Server, será retornado o erro -2 (NO_CONNECTION), indicando que a conexão entre o TOTVS | Application Server e o TOTVS | DBAccess foi perdida, e nos logs do TOTVS | DBAccess será registrado que a causa do fechamento da conexão foi falha de comunicação como TOTVS | DBAccess Master. A Antes da build 19.2.1.0 do DBAccess, a interface de monitoramento (TOTVS | DBMonitor) somente têm acesso às informações e conexões processadas naquele serviço. Logo, para localizar uma conexão no ambiente mencioando, deve-se abrir um TOTVS | DBMonitor para cada TOTVS | DBAccess Slave. Da mesma forma, os recursos de bloqueio de conexão e liberação de conexão ainda são individuais. Bloqueas novas conexões do TOTVS | DBAccess Master não bloqueia novas conexões do TOTVS | DBAccess Slave. A partir da Build 19.2.1.0 do DBAccess, foi implementado o mecanismo de monitoramento centralizado completo no DBAccess Master, permitindo visualizar todas as conexões estabelecidas em todos os DBAccess Slave(s) do ambiente, bem como rasterar e encerrar conexões. Para maiores informações sobre essa implementação, conslute a nota de release no link Implementação - DBMonitor passa a suportar as funcionalidades de visualização de Locks, Rastrear e Encerrar quando conectado ao DBAccess Master Além disso, outro ponto importante, é a respeito das configurações: As configurações devem ser replicadas, de modo que cada TOTVS | DBAccess esteja configurado apontando para uma configuração ODBC que aponte para o mesmo banco de dados, ou ainda apontar para o mesmo banco de dados um ou mais TOTVS | DBAccess configurados como Slaves e apontar também para o mesmo banco de dados um TOTVS | DBAccess configurado como StandAlone (Padrão sem distribuição). Discrepâncias desta natureza, não têm como serem detectadas pelo TOTVS | DBAccess, e caso sejam realizadas, podem causar comportamentos inesperados e fatalmente prejudiciais a aplicação.
Flexibilidade de ConfiguraçãoO TOTVS | DBAccess Master não precisa necessariamente ficar junto com a máquina de banco de dados. O TOTVS | DBAccess pode ser um serviço instalado em um servidor de aplicação, em uma porta diferente da 7890, e como o seu controle será exclusivamente para bloqueio de registros, seu consumo de memória será bem inferior aos serviços TOTVS | DBAccess Slaves. E, é possível configurar um TOTVS | DBAccess Master em uma plataforma diferente dos demais Slaves, por exemplo um Master em uma máquina Linux e os demais TOTVS | DBAccess Slaves em máquinas Windows. Além disso, podemos também colocar mais de um TOTVS | DBAccess Slave no mesmo equipamento, desde que configurado em outra porta. Embora seja possível, não é recomendável, que sejam utilizados TOTVS | DBAccess Slaves para o mesmo banco de dados/ambiente em plataformas distintas, por exemplo um TOTVS | DBAccess Slave em Windows e outro em Linux. Build do TOTVS | DBAccess para uso do recurso distribuídoA utilização do TOTVS | DBAcces em modo distribuído requer uma build com release igual ou superior a 20100510. |
...