Pesquisar este blog

quarta-feira, 13 de julho de 2011

Configurações avançadas - Roteamento de execução

Como configurar regras de roteamento de pacotes e usuários, para dispatcher específicos.

As vezes, quando o ambiente é muito grande ou existem servidores específicos para certas áreas, regras de roteamento se tornam muito, muito, úteis.

Vou dar dois cenários onde fica visível a utilização de roteamentos.

1º Cenário:
Ambiente: 2 Dispatchers (server01 e server02), 1 Gateway (server01) e um Content Manager(server01).
Obs.: Server01 e Server02 configurados em load balance.

É muito comum empresas que possuem Cognos também possuirem alguma espécie de cubo plugado ao Cognos, nesse caso também é normal que existe um compartilhamento de rede que permitar que ambos os dispatchers acessem o mesmo cubo.
Mais comum ainda é o cubo estar em um dos dispatchers e ser acessado por um compartilhamento pelo outro dispatcher.

O que acontece nesse caso?
O Server01 tem um compartilhamento file://server01/cubos que é o caminho no datasource do cubo(Cognos Connection), ou seja ambos servidores acessam o cubo pela rede.

Por experiência posso dizer que quando o dispatcher no server01 acessa o cubo cria-se uma conexão local, sem tráfego de rede, mas quando o dispatcher no server02 acessa o cubo, bom... ai o drama começa.
Lentidão e travamento são problemas que podem acontecer em função desse tráfego de rede, ainda mais se o cubo for grande.

Para solucionar esse caso existem duas possibilidades a meu ver:
1 - Duplicar os cubos em ambos servidores e criar um apontamento local para o datasource, como C:\cubos.
2 - Criar uma regra de roteamento para pacotes de cubo serem processados somente pelo server01.

A primeira opção não tem nada a ver com esse post então não vem ao caso, logo vamos a segunda.
Antes de dizer como criar uma regra de roteamento, existem algumas informações muito úteis que podem causar confusão senão explicadas.

Regras de roteamento podem ser beseadas em 3 itens, pacote(packages), funções(roles) e grupos(groups), e são direciodadas para um GRUPO de SERVIDORES.
  • Para configurar um grupo de servidores acesse as propriedades de um Dispatcher em Administração do Portal -> Configuração.
Em ajuste(tunning) existe um campo texto onde você pode digitar o nome do grupo.
Load balance só acontece em servidores dentro do mesmo grupo, portanto cuidado com essas configurações.
  • Para configurar pacotes, funções ou grupos, acesse as propriedades do objeto, e na parte inferior da tela defina um conjuto de roteamento.
Você pode definir um novo ou utilizar um já existente.

Voltando a vaca fria...
Agora que esses pontos estão claro, né? Vamos criar um regra de roteamento, depois de criar o conjunto de regras e o grupo de servidores, na tela de configuração em Administração do Portal existem um icone Especificar Regras de Roteamento, é o quarto da direita para a esquerda.

Muito simples, escolha o cojunto, grupo de servidores e voila... feito.

Voltando para o cenário:
Server01 no Grupo de Servidores Cubos
Server02 no Grupo de Servidores Relatórios
Todos pacotes de cubos definidos nos conjunto de roteamento CUBOS

Regras criadas:
SequenciaConjunto de Reteamento PacoteConjunto de Reteamento GrupoConjunto de Reteamento FunçãoGrupo de Servidores
1CUBOSQualquerQualquerCubos
2QualquerQualquerQualquerRelatórios

Repare que foi criada uma segunda regra para o resto dos pacotes.
Mas... se você foi atento e leu o post todo, viu que isso promove a perda de load balance, pois cada servidores estará num grupo diferente.
Para resolver isso, sugiro a instalação de um novo dispatcher no server01, só o dispatcher hein!!

Dessa forma o ambiente ficaria assim:
Ambiente: 3 Dispatchers (server01:9300, server01:10300 e server02), 1 Gateway (server01) e um Content Manager(server01).
Obs.: Server01:9300 e Server02 configurados em load balance e Server01:10300 para cubos.
Assim se resolve o load balance e o problema de acesso de cubos pela rede.

No 2º cenário o caso é que temos um servidor para cada area.

Nesse caso configuramos os grupos de usuários ou funções para cada área e colocamos as pessoas dentro dele, depois criamos uma regra para cada conjunto.

Ambiente:3 Dispatchers (server01-FATURAMENTO, server02-FINANCAS e server03-ESTOQUE), 1 Gateway (server01) e um Content Manager(server01).

Então teremos:
Server01-FATURAMENTO no Grupo de Servidores Faturamento
Server02-FINANCAS no Grupo de Servidores Finanças
Server03-ESTOQUE no Grupo de Servidores Estoque
E os usuários definidos nas funções (roles) Faturamento, Finanças e Estoque, e as funções com seus conjuntos de reteamento também definidos.

Regras criadas:
SequenciaConjunto de Reteamento PacoteConjunto de Reteamento GrupoConjunto de Reteamento FunçãoGrupo de Servidores
1QualquerQualquerFaturamentoFaturamento
2QualquerQualquerFinançasFinancas
3QualquerQualquerEstoqueEstoque

Como sempre, dúvidas? Comente, email-me.
Já escrevi mais do que o planejado, fui.

Nenhum comentário:

Postar um comentário