Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos S01E04 -

Post on 05-Jul-2015

579 views 0 download

description

A solução In-Memory Data Grid computing (IMDG) é cada vez mais utilizada por empresas para implantação de um recurso computacional rápido e robusto. Tendo sido anteriormente utilizado apenas por grandes companhias, como instituições financeiras e gigantes da internet, os custos da tecnologia, atualmente, foram reduzidos ao ponto que a solução pode servir de apoio à integração de aplicativos de empresas. As soluções In-Memory Data Grids são a forma ideal para garantir a transmissão de mensagens em projetos de integracão, com menor latência, capacidade para alto volume de transações e facilitadores para ambientes distribuídos. Clustering, Recuperação, Escalabilidade e Gerenciamento são tópicos abordados nessa sessão, para ajudar seu projeto de integração se tornar ainda melhor.

Transcript of Arquitetura IMGD da Plataforma de Integração Magic xpi 4 - Magic Sem Segredos S01E04 -

Arquitetura IMDG (In Memory Data Grid) do

Magic xpi 4

Magic Sem Segredos – S1E4 – 24 Janeiro 2014

Magic Sem Segredos

• Magic Software

• Nova Arquitetura do Magic

xpi

• Magic em Ação

• Perguntas e Respostas

(Comentários do Blog)

Agenda

http://mss.magicsoftware.com.br

Magic Software

• 30+ anos de Experiência

• Destaque em Tecnologia e

Inovação

• Foco em Necessidades de

Negócios

• NASDAQ (MGIC)

• 14 Escritórios mundialmente

• Presente em mais de 50 países

• Parceiros +3.000

Um fornecedor global de plataformas de desenvolvimento e integração

de aplicações

Plataforma de Integração Magic xpi 4

Revisão Inicial da Versão iBOLT 3

– Fase Concluída

Melhoria na

tolerância a falhas,

recuperação de erros,

escalabilidade e

performance

Segunda Revisão – Fase em

Andamento

Inclusão capacidades

BAM e Monitoramento

Visual

Abertura e suporte para

padrões

Novas capacidades e

novos adaptadores

Capacidades Básicas Existentes –

Magic xpi 4.0

Adaptadores prontos de protocolos empresariais com os principais

fornecedores de TI (SAP, Salesforce, Oracle, Microsoft ..) para on-

premise, nuvem e integração de aplicações e dados móveis

Biblioteca de

conectores pré-

construídos

Sem necessidade de códigos e desenvolvimentos complexos – uma

única interface gráfica intuitiva visual (mapeador de dados, ...)

Tecnologia e vendedor agnóstico, classe empresarial (segurança

embutida), SOA compatível, ....

Grande rede de parceiros, serviços profissionais, 30 anos de

experiência

Livre de Código /

GUI Intuitiva

Outras

capacidades

técnicas

Viabilizadores do

Sucesso da

Integração

Novas Capacidades do

Magic xpi 4.0

Capacidades

Prontas para

clustering e

Tolerância a

Falhas

(failover)

Melhoria na

Recuperação

de erros e

Garantia na

Entrega de

Mensagens

Escalabilidade

Elástica e

Processamento

Paralelo

Melhores

facilidades no

sistema de

Gerenciamento

Clustering Recuperação GerenciamentoEscalabilidade

Benefícios do Magic xpi 4.0

Magic xpi 4.0 traz recursos prontos em nível premium de

robustez, normalmente difíceis de implantar e oferecida apenas a grandes

projetos, possibilitando novos cenários de integração para

mobilidade, nuvem e big data

Disponibilidade 24/7 embutida via

clustering, escalabilidade, gerenciamento melhorado

Capacidades de Robustez premium

Automatizado, pré-construídos, as novas capacidades diminuem

ainda mais o custo total de propriedade da Solução Magic

100% Compatível com versões anteriores, sem habilidades

específicas de TI necessários – Sem alteração no

Desenvolvimento

A nova arquitetura do Magic xpi 4.0 facilitada futuros cenários de

integração com baixa latência (mobilidade, nuvem, big data)

Baixo Custo de Propriedade (TCO)

Livre de Risco

À Prova de

Futuro

Magic em

Ação

Coloque suas perguntas

nos comentários do Post no

Blog para respondermos ao

vivo

Arquitetura baseada em

Space

Arquitetura tradicional baseada

em camadas

• Foi construída sob o pressuposto de que a

capacidade de rede é um gargalo e

memória é cara e limitada

• Uso intensivo de I/O

• Não distribuído por natureza, pois a rede

foi assumida como sendo um gargalo

• Complicado para Escalar

• Todos os níveis precisam de escalar

juntos

• Cada camada é um middleware com

hardware

dedicado, licenciamento, protocolos, API

s ...

Arquitetura Baseada em Camadas

– Continuação

Solução Dispatcher (Broker)

• Ponto único de falha

• Status e Controle Centralizados

• Todos os táxis devem se registrar

• Dispatcher precisa ser bem organizado e

ordenado

• Os passageiros podem desaparecer se o

táxi não estiver disponível

Arquitetura Baseada em Space

• Middleware é virtualizado

• Tanto a lógica de aplicação quanto a camada de

mensagens são executadas em cada partição

juntamente com os dados

• Os dados são armazenados em memória

• Ultra rápido, baixa latência de acesso

• Os dados são particionados entre os processos

• para suportar grandes conjuntos de dados

• Os dados são replicados para fornecer resiliência

• A perda de uma partição não afeta os dados

Arquitetura Baseada em Space -

Continuação

Solução em Space

• Nova área de espera

• Escalável - novo táxi

pode se juntar

facilmente

• Sem dispatcher, Sem

ponto único de falha

• Pode deixar sua Mala

e ir (assíncrono)

• Área de Espera é

protegida e segura

(sem desaparecimento

de malas)

• Entrega garantida

Conceitos do GigaSpaces XAP

Conceitos Básicos do GigaSpaces

XAP

• In-Memory Data Grid - Software middleware

composto por vários processos de servidores

que trabalham em conjunto para armazenar e

processar grandes quantidades de dados em

memória

• Space – um serviço de lógica em

memória, em execução na grade de dados

(data grid), que pode armazenar entradas de

informação

Topologias Space clustering

• Particionado:

• Replicado:

• Ambos:

Arquitetura Magic xpi 4.0

Arquitetura do Magic xpi 4.0 -

Conceitos

• Magic Space

• Um space que contém parte da lógica do Magic

xpi

• Workers

• Threads genéricas num processo de Magic xpi

que executa qualquer fluxo do projeto.

• Constantemente em execução e predefinidos

na inicialização do servidor.

• Metadados do Projeto no Space

• Os metadados do projeto que são gerenciado

no space.

• Unidade de Processamento (PU)

• A lógica que é executada no Magic Space

Nova Arquitetura do Magic xpi 4.0

Magic xpi 4.0 é construído sobre de uma tecnologia In-Memory

Data Grid, que substitui o Magic Broker e fornece tolerância a

falhas, redundância e escalabilidade

23

Magic Engine Magic Engine

ServerServidor

Magic Engine

Servidor Servidor

Magic Engine

Servidor

Motor Magic

Space

(In-Memory Data Grid)

Magic PU

Múltiplos Servidores – Múltiplos Motores – Múltiplos Workers

Gerenciamento

e

Monitoramento

Arquitetura Magic xpi 4.0

Metadados dos Servidores

Mensagens

do WorkEntidades

Compartilhadas

Mensagens do

Gerenciador

Lógica (PU)

Triggers

Externas

Motor Magic xpi 4.0

WorkerWorkerWorker

Gerenciador

Escreve

Lê/obtém

Escreve

Metadados do Projeto

Triggers

Workers

• Threads Genéricas que são executadas

sob um processo do Magic xpi

• Sua quantidade é predefinida na

inicialização do servidor

• Define a quantidade máxima de processos

paralelos que o servidor Magic xpi pode ser

executar

worker

• Pode executar qualquer fluxo do projeto

• Pode executar qualquer ramo paralelo ou stand-alone

• Constantemente buscando novas mensagens no

space

• Atualiza o objeto de metadados correspondente no

space com o status estou-vivo. (I’m-alive)

Gerenciador de Threads

• Uma thread em execução sob o processo do

Magic xpi

• Manipula mensagens de comando:

• Encerramento (Shutdown)

• Workers status

• Monitora a saúde dos workers

• Recupera workers com falha.

Gerenciador

Mensagem de “Work”

• Uma mensagem armazenada no space

• Contém instruções de execução do fluxo

(BP/fluxo)

• Colocado no space por:

• Triggers

• Scheduler

• Auto-Start, Auto-Repeat, PSS

• Ramos Paralelos ou stand-alone

• Seu ciclo de vida passa por vários estados de

"Pronto para uso" para "em andamento" para

"Falha" ou "Concluído”

• Mensagem de Root é removida do space

apenas após um processamento bem

sucedido

Mensagens do

Work

Magic Space PU

• A lógica do Magic xpi que é executada em

cada partição do space

• Responsável pela:

• Inicialização e Encerramento do Projeto

• Recuperação

• Monitoração da Saúde do Projeto

• Transformação de Mensagens (triggers

externos)

Lógica (PU)

Triggers externas

• Triggers que não estão rodando sob um

processo do Magic xpi:

• Web Requester (IIS)

• Provedor de Web Service (WSo2)

• Coloca Mensagens do Work no Space

• Espera por mensagens de respostas

Triggers

Externa

s

Entidades Compartilhadas

• Entidades do Space

• Todas as entidades usadas no vínculo com

um projeto Magic xpi a um único servidor:

• Locking

• Max Instance

• Global and BP variables

• Disable\enable

• Recovery information

Entidades

Compartilhadas

Entidade de Metadados

• Entidades do Space

• Estas entidades são a representação do

space das entidades de processos do Magic

xpi:

• WorkerData, ServerData, FlowData, TriggerDat

a, ProjectData….

• Estas entidades do space são parte do es

• Apenas estas entidades do space controlam

o status do projeto (Motores são sem status)

• Usado pelo Monitor para ganhar visão em

tempo real do projeto.

Metadados

Execução do Projeto

GSA como agente inicializador do

Magic xpi

• Também é um agente de gestão de processos

• Pode facilmente gerenciar outros processos

• Pode ser totalmente controlado a partir da Admin

API

• Confiável e robusto

• Pode ser exposto como um serviço do SO

Configurações de Inicialização

• Definido em um arquivo XML

• O nome do arquivo é controlado por uma

propriedade no Magic.ini

• O processo de build cria um XML padrão de

início na pasta do projeto

• O Monitor, o Debugger e o “Start link” usam

este XML.

Configurações de Inicialização -

Continuação

<Magicxpi_Startup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Projects>

<Project Name="recoveryExample" ProjectsDirPath=“\\Magic xpi 4 GS

22_11\projects">

<Servers>

<Server host="AVIW-7-LP">

<NumberOfWorkers>5</NumberOfWorkers>

<NumberOfInstances>1</NumberOfInstances>

<Triggers load="true"/>

<Scheduler load="true"/>

<AutoStart load="true"/>

</Server>

</Servers>

</Project>

<Magicxpi_Startup/>

Ma

Arquitetura do Processo de

Inicialização

Magic PUServerDataServerData

ServerData

Monitor Debugger Start Link

XML

GSAGSA

Magic

xpi Magic

xpi

Processo de Encerramento

(Shutdown)

• Operação de desligamento do projeto cria uma mensagem

de "shutdown project" no space. Como resultado:

• Mudanças de estado do projeto para estado de

desligamento

• Triggers estão bloqueando novas mensagens

• A mensagem de desligamento é distribuída a todos os

servidores que executam (mensagem de gerenciamento)

• A PU monitora o estado dos servidores em execução e

garante que eles desligarão corretamente após um período de

carência

• O tempo de carência permite que os servidores completem

quaisquer mensagens novas ou em processo no space

• Se um servidor não conseguiu desligar, ele vai ser

eliminado pelo GSA

Mecanismo de

Licenciamento

Atualização de Licença

• Magic xpi 4.0 não funciona com licenças da

V3

• Clientes precisam atualizar a licença para a

v4

• A nova licença contém versão MAGIC 2.000

e um flag VERSION=4.0 como parte do

vendor String

Nova Arquitetura de

Licenciamento

• Licença é sempre flutuante, mas com a opção de

reservar licenças a um determinado projeto

• O pool de licenças é feito no space que serve

como servidor de licença

• Workers antes de executar um fluxo, vai tentar

fazer o check-out de uma licença da pool

• No caso de o projeto estar definido para reservar

licenças, alguns de seus workers irão verificar

licenças no pool e nunca vão liberá-los.

• O restantes dos workers vão tentar fazer o check-

out de uma licença e farão o check-in da licença

uma vez que o fluxo tenha terminado (flutuante)

Monitor - Licenças

• A partir do menu de “Ajuda” da visão de

vários projetos, é possível ver a licença

carregada no space.

• A partir do console de monitoramento

avançado, é possível ver o seguinte:

• Uso total de licenças

• Fixed / floating

• License feature usado por cada Servidor

Execução em Cluster

Migração

Plano de Migração

• Ver documentação de migração

• Não há alteração em desenvolvimento, somente na execução

• Migração suave & tranquila – Rebuild do Projeto

Perguntas e Respostas

Obrigado e até o próximo

http://mss.magicsoftware.com.br