Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css
Englishportuguese

Pagetitle
ByYou TOTVS DBAccess - Configuração distribuídaByYou
TOTVS DBAccess - Configuração distribuída

ByYou

TOTVS | DBAccess - Configuração distribuída

A

topologia

do

ByYou

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

ByYou

TOTVS | DBAccess

pode

ser

configurado

para

trabalhar

em

uma

configuração

distribuída,

onde

um

serviço

do

ByYou

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.


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 ByYou Application do TOTVS | Application Server deve ser explicitamente configurado para realizar as conexões de dados em um ByYou DBAccess TOTVS | DBAccess "Slave", onde o balanceamento efetivo das conexões já foi realizado pelo engine de balanceamento do ByYou Application TOTVS | Application Server, e cada ByYou DBAccess TOTVS | DBAccess "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 ByYou DBAccess TOTVS | DBAccess e os servidores APP1 e APP2 possuam cada um 4 serviços do ByYou Application do TOTVS | Application Server, configurados em modo de balanceamento de carga, neste cenário os serviços do ByYou Application do TOTVS | Application Server de todos os equipamentos apontam para um único ByYou DBAccessTOTVS | DBAccess, instalando na máquina de banco (SRVDB), onde têm um ODBC configurado para o ByYou DBAccess.

 

Image Removed

sf

TOTVS | DBAccess. Nesse cenário, a seguinte topologia é sugerida:


Image Added

Procedimento

Para implementar a configuração distribuída do ByYou DBAccessTOTVS | DBAccess, são necessários os seguintes passos:

  1. Instale um ByYou DBAccess TOTVS | DBAccess em cada máquina que contém o ByYou Application o TOTVS | Application Server (SRVAPP1 e SRVAPP2).
  2. Configure o ODBC para o banco de dados em cada uma das máquinas (SRVAPP1 e SRVAPP2).
  3. Configure cada ByYou DBAccessTOTVS | DBAccess, instalado nas máquinas Slave, para o modo de acesso Slave.
  4. Pare o serviço do ByYou DBAccess TOTVS | DBAccess da máquina de banco de dados (SRVDB).
  5. Configure o ByYou DBAccessTOTVS | DBAccess, da máquina de banco de dados, para o modo de acesso Master.
  6. Execute o ByYou DBAccess TOTVS | DBAccess da máquina de banco de dados (SRVDB).
  7. Execute o ByYou DBAccess TOTVS | DBAccess das máquinas que contém o ByYou Application o TOTVS | Application Server (SRVAPP1 e SRVAPP2).
  8. Teste as conexões, de cada um dos ByYou DBAccessTOTVS | DBAccess, usando o ByYou DBMonitorTOTVS | DBMonitor.
  9. Altere os arquivos de configuração (appserver.ini), dos serviços da máquina SRVAPP1, para acessar o ByYou DBAccess TOTVS | DBAccess da própria máquina.
  10. Altere os arquivos de configuração (appserver.ini), dos serviços da máquina SRVAPP2, para acessar o ByYou DBAccess TOTVS | DBAccess da própria máquina.
 


Para configurar o ByYou DBAccess TOTVS | DBAccess para modo de conexão Master, deve-se abrir o arquivo de configuração (dbaccess.ini), do ByYou DBAccessTOTVS | DBAccess, e na seção [General] inserir a chave Mode.

Mode=Master
 


Para configurar os ByYou DBAccess TOTVS | DBAccess para modo Slave, deve-se abrir o arquivo de configuração (dbaccess.ini) e configurar as seguintes chaves:

Mode=SlaveMasterServer=<IP>MasterPortSlave
MasterServer=<IP>
MasterPort=<Port>

Onde <IP> e <Port> correspondem ao IP e Porta do ByYou DBAccess TOTVS | DBAccess Master que será utilizado como servidor de locks para os demais ByYou DBAccess TOTVS | DBAccess Slave.

 


Características operacionais da configuração distribuída

Um ByYou DBAccess TOTVS | DBAccess Slave somente consegue estabelecer conexão com o banco de dados, se conseguir conectar primeiro com o ByYou DBAccess TOTVS | DBAccess Master. Caso o ByYou DBAccess TOTVS | DBAccess Master não esteja no ar ou esteja configurado de forma incorreta, o ByYou DBAccess TOTVS | DBAccess retornará erro de conexão -43 ao ByYou Application ao TOTVS | Application Server.

O ByYou DBAccess TOTVS | DBAccess Master é uma aplicação crítica e deve estar sempre no ar. Se o ByYou DBAccess 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 ByYou Application o TOTVS | Application Server, será retornado o erro -2 (NO_CONNECTION), indicando que a conexão entre o ByYou Application o TOTVS | Application Server e o ByYou DBAccess TOTVS | DBAccess foi perdida, e nos logs do ByYou DBAccess TOTVS | DBAccess será registrado que a causa do fechamento da conexão foi falha de comunicação como ByYou DBAccess TOTVS | DBAccess Master.

A Antes da build 19.2.1.0 do DBAccess, a interface de monitoramento (ByYou DBMonitorTOTVS | 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 ByYou DBMonitor TOTVS | DBMonitor para cada ByYou DBAccess 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 ByYou DBAccess TOTVS | DBAccess Master não bloqueia novas conexões do ByYou DBAccess Slave.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 ByYou DBAccess 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 ByYou DBAccess TOTVS | DBAccess configurados como Slaves e apontar também para o mesmo banco de dados um ByYou DBAccess TOTVS | DBAccess configurado como StandAlone (Padrão sem distribuição). Discrepâncias desta natureza, não têm como serem detectadas pelo ByYou DBAccessTOTVS | DBAccess, e caso sejam realizadas, podem causar comportamentos inesperados e fatalmente prejudiciais a aplicação. 


Flexibilidade de Configuração

O ByYou DBAccess TOTVS | DBAccess Master não precisa necessariamente ficar junto com a máquina de banco de dados. O ByYou DBAccess 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 ByYou DBAccess TOTVS | DBAccess Slaves. E, é possível configurar um ByYou DBAccess TOTVS | DBAccess Master em uma plataforma diferente dos demais Slaves, por exemplo um Master em uma máquina Linux e os demais ByYou DBAccess TOTVS | DBAccess Slaves em máquinas Windows. Além disso, podemos também colocar mais de um ByYou DBAccess TOTVS | DBAccess Slave no mesmo equipamento, desde que configurado em outra porta.

Embora seja possível, não é recomendável, que sejam utilizados ByYou DBAccess TOTVS | DBAccess Slaves para o mesmo banco de dados/ambiente em plataformas distintas, por exemplo um ByYou DBAccess TOTVS | DBAccess Slave em Windows e outro em Linux. 


Build do

ByYou DBAccess

TOTVS | DBAccess para uso do recurso distribuído

A utilização do ByYou DBAcces TOTVS | DBAcces em modo distribuído requer uma build com release igual ou superior a 20100510.  


...