Histórico da Página
...
Produto: | Microsiga Protheus | ||||
Versões: | 11 e 12 | ||||
Descrição: | Grid de Processamento é um ambiente preparado para executar processos utilizando mais de um servidor simultaneamente. O aplicativo e/ou programa responsável pelo processo é desenhado para executar frações independentes deste processo, que são distribuídas para outros servidores e executados em paralelo. O Grid de Processamento AdvPL é um componente integrado ao Framework da linguagem AdvPL, que oferece infraestrutura para execução de processos especialistas distribuídos, responsável pelo controle de distribuição otimizada de requisições de processamento e tratamento de exceções. Não é qualquer rotina do ERP que está preparada para ser utilizada em Grid. Algumas rotinas atendem aos critérios de paralelismo e aderência às condições de uso em Grid, e podem ser parametrizados para uso da infraestrutura do Grid de processamento AdvPL. Para saber se determinada rotina está preparada para ser executada em Grid, você deve entrar em contato com a equipe de suporte responsável pelo respectivo módulo. A execução de processos em Grid necessita de um conjunto separado de Application Servers. O conjunto é composto por um AppServer principal, chamado GridServer ou Coordinator, e pelo menos mais dois AppServers chamados GridAgents. Estes AppServers devem estar configurados para rodar apenas o serviço de Grid, não devendo executar outros Jobs ou aplicações. O conjunto de AppServers (GridServer e GridAgents) pode estar configurado em um mesmo servidor ou em servidores diferentes, contudo é necessário que os servidores tenham acesso um ao outro na rede. Para se iniciar a configuração de um Grid de Processamento, a primeira coisa a se fazer é efetuar cópias da pasta AppServer (binário do Protheus), e nomeá-las de modo a identificar o GridServer e os GridAgents. Após a cópia, basta editar os arquivos appserver.ini conforme orientações abaixo.
Trata-se de um Application Server configurado para execução exclusiva do processo (JOB) de controle de distribuição de agentes e processos em Grid (GridServer). Não deve ser um serviço que execute outras aplicações ou JOBS, inclusive não deve ser colocado na lista de servidores de balanceamento de carga. Para realizar a configuração, é necessário criar o serviço GridServer. Exemplo do arquivo de configuração appserver.ini do GridServer:
Observações: 2. O GridServer deve ser configurado exclusivamente para um Ambiente (Environment). 3. Deve-se utilizar o endereço IP 4. A linha MinProcAgent refere-se à quantidade mínima de agentes de processamento do Grid na estrutura
Após já ter configurado o GridServer para o ambiente, é necessário criar a configuração da seção [GridAgent] para cada um dos Agents, para o mesmo Ambiente (Environment) utilizado no GridServer. Exemplo do arquivo de configuração appserver.ini do GridAgent:
Observações: 1. O JOB GridAgent deve ser inserido na seção [OnStart], de cada Agent, e a chave RefreshRate configurada para 15 segundos, definindo assim um intervalo de tempo para o serviço verificar a quantidade de processos de agente on-line. 2. A única alteração necessária destas configurações entre cada Agent, será a chave TCP indicando a porta que ele inicia e as chaves AgentIp e AgentPort, onde deve-se indicar o endereço IP e porta do AppServer deste servidor que está respondendo ao GridServer. IMPORTANTE: Não utilize "localhost" nesta configuração, pois isto obrigaria ao serviço do GridServer e todos os demais agentes e clientes do grid a estar no mesmo servidor. Esta configuração do agente precisa informar o IP do servidor onde este serviço está sendo executado, pois o GridServer vai usar esta informação para avisar aos processos client do Grid quais agentes foram alocados para ele. 3. A linha AgentIp indica o IP deste servidor onde está esse Agent, e a linha AgentPort indica a porta que está na seção TCP deste AppServer. 4. A linha Instances indica a quantidade inicial de Threads que serão utilizadas e a quantidade máxima. 5. A linha CoordServer deve apontar para o IP do servidor onde está o GridServer, e a linha CoordPort, a porta do Appserver do GridServer
Se as configurações estiverem OK, os consoles deverão exibir as seguintes mensagens: Console do GridServer
Desta forma, inicialmente, deve-se configurar apenas uma instância, ou no máximo duas instâncias do processo Agente para cada serviço slave do TOTVS | Application Server para então executar um programa que utilize a infraestrutura do Grid e verificar se com esses parâmetros não foi criado nenhum gargalo na infraestrutura (utilização de CPUs a 100%, verificando inclusive na máquina de Banco de Dados x TOTVS | DBAccess, e na máquina Master (c-tree Server, TOTVS | License Server e afins). Não havendo perda significativa de performance constatada na aplicação, e havendo sobra de recursos para este processo, pode-se aumentar em uma unidade as instâncias para os Agentes e refazer o teste. Consumo de licenças |