Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
...
Pagetitle |
---|
| TOTVS | DBAccess - Configuração distribuída |
---|
| TOTVS | DBAccess - Configuração distribuída |
---|
|
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
...
- Configuração distribuída
A topologia do
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
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
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
pode ser configurado para trabalhar em uma configuração distribuída, onde um serviço do
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
é 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.
...
...
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
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
deve ser explicitamente configurado para realizar as conexões de dados em um ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
"Slave", onde o balanceamento efetivo das conexões já foi realizado pelo engine de balanceamento do ...
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
, e cada Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
"Slave" é configurado para apontar para o "Master" para fazer as operações de lock.
Topologia sugerida
Partindo 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
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
e os servidores APP1 e APP2 possuam cada um 4 serviços ...
do
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
, configurados em modo de balanceamento de carga, neste cenário os serviços ...
do
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
de todos os equipamentos apontam para um único ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, instalando na máquina de banco (SRVDB), onde têm um ODBC configurado para o ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
. Nesse cenário, a seguinte topologia é sugerida:
Image Modified
Procedimento
Para implementar a configuração distribuída do
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, são necessários os seguintes passos:- Instale um
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
em cada máquina que contém o
...
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
(SRVAPP1 e SRVAPP2).- Configure o ODBC para o banco de dados em cada uma das máquinas (SRVAPP1 e SRVAPP2).
- Configure cada
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, instalado nas máquinas Slave, para o modo de acesso Slave.- Pare o serviço do
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
da máquina de banco de dados (SRVDB).- Configure o
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, da máquina de banco de dados, para o modo de acesso Master.- Execute o
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
da máquina de banco de dados (SRVDB).- Execute o
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
das máquinas que contém
...
- o
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
(SRVAPP1 e SRVAPP2). - Teste as conexões, de cada um dos
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, usando o Inclusão de trecho |
---|
| DBMonitor |
---|
| DBMonitor |
---|
nopanel | true |
---|
|
.- Altere os arquivos de configuração (appserver.ini), dos serviços da máquina SRVAPP1, para acessar o
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
da própria máquina.- Altere os arquivos de configuração (appserver.ini), dos serviços da máquina SRVAPP2, para acessar o
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
da própria máquina.
Para configurar o
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
para modo de conexão Master, deve-se abrir o arquivo de configuração (dbaccess.ini), do ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, e na seção [General] inserir a chave Mode. Bloco de código |
---|
Mode=Master |
Para configurar os
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
para modo Slave, deve-se abrir o arquivo de configuração (dbaccess.ini) e configurar as seguintes chaves: Bloco de código |
---|
Mode= Slave MasterServerSlaveMasterServer=<IP>
MasterPort=<Port> |
Onde <IP> e <Port> correspondem ao IP e Porta do
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master que será utilizado como servidor de locks para os demais ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Slave....
Características operacionais da configuração distribuída
Um
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Slave somente consegue estabelecer conexão com o banco de dados, se conseguir conectar primeiro com o ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master. Caso o ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master não esteja no ar ou esteja configurado de forma incorreta, o ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
retornará erro de conexão -43...
(DBSERVER_INITERROR) ao
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
.Devido ao
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master centralizar o serviço de controle de locks, o Master não realiza conexão com os SGBDs, que retorna erro -35 (NO_DB_CONNECTION) ao tentar conectar com o SGBD e mostra em console a mensagem: Invalid TopClient Connection on DBACCESS MASTER.O
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master é uma aplicação crítica e deve estar sempre no ar. Se o ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
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
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
, será retornado o erro -2 (NO_CONNECTION), indicando que a conexão entre ...
o
Inclusão de trecho |
---|
| Application Server |
---|
| Application Server |
---|
nopanel | true |
---|
|
e o Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
foi perdida, e nos logs do ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
será registrado que a causa do fechamento da conexão foi falha de comunicação como ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master.Antes da build 19.2.1.0 do
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, a interface de monitoramento ( Inclusão de trecho |
---|
| DBMonitor |
---|
| DBMonitor |
---|
nopanel | true |
---|
|
...
) 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
...
Inclusão de trecho |
---|
| DBMonitor |
---|
| DBMonitor |
---|
nopanel | true |
---|
|
para cada Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
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
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master não bloqueia novas conexões do ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Slave.A partir da Build 19.2.1.0 do
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, foi implementado o mecanismo de monitoramento centralizado completo no Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master, permitindo visualizar todas as conexões estabelecidas em todos os Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
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 MasterAlém disso, outro ponto importante,
...
é a respeito das configurações: As configurações devem ser replicadas, de modo que cada
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
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 ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
configurados como Slaves e...
apontar também para o mesmo banco de dados um
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
configurado como StandAlone (Padrão sem distribuição). Discrepâncias desta natureza, não têm como serem detectadas pelo ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
, e caso sejam realizadas, podem causar comportamentos inesperados e fatalmente prejudiciais a aplicação.
Flexibilidade de Configuração
O
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master não precisa necessariamente ficar junto com a máquina de banco de dados. O ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
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
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Slaves. ...
E, é possível configurar um
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Master em uma plataforma diferente dos demais Slaves, por exemplo um Master em uma máquina Linux e os demais ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Slaves em máquinas Windows. Além disso, podemos também colocar mais de um ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Slave no mesmo equipamento, desde que configurado em outra porta.Embora seja possível, não é recomendável
...
que sejam utilizados
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Slaves para o mesmo banco de dados/ambiente em plataformas distintas, por exemplo um ...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
Slave em Windows e outro em Linux.
Build do
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
para uso do recurso distribuído
A utilização do
...
Inclusão de trecho |
---|
| DBAccess |
---|
| DBAccess |
---|
nopanel | true |
---|
|
em modo distribuído requer uma build com release igual ou superior a 20100510....