2. Turbinando o Oracle WebLogic 12c usando
Active GridLink e o Coherence Data Grid
Ricardo Ferreira | Fusion Middleware | Strategic Accounts
2 ricardo.s.ferreira@oracle.com
Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
3. The following is intended to outline our general product direction.
It is intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver
any material, code, or functionality, and should not be relied
upon in making purchasing decisions. The development,
release, and timing of any features or functionality described for
Oracle’s products remains at the sole discretion of Oracle.
3 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
5. Oracle RAC (“Real Application Clusters”)
Escalabilidade Transparente do B.D
• Comece pequeno, cresça aos poucos
• Super escalável e altamente disponível
• Adicione mais capacidade sob demanda
com zero indisponibilidade
5 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
6. Oracle WebLogic e os Multi Data Sources
JNDI Data Source 1
jdbc/meuDS close() conexão
conexão
lookup() conexão
Multi Data Source
Driver JDBC
Aplicação 1
exec
… Data Source 2
getConnection() SQL
… …
Aplicação 2
Data Source 3
…
Servidor WebLogic RAC
6 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
7. Active GridLink for Oracle RAC
Domínio do WebLogic
• Configuração Simples – Único Data Source
WebLogic Cluster Data Source
Node Manager
• Notificações de Eventos (ONS e FAN) para Managed GridLink
Server 1 Data Source
Gerenciamento Adaptivo do Pool
Managed RAC Aware
• Fast Connection Failover Server 2 Connection Pool
– Desligamentos Planejados das Bases
– Desligamentos Não-Planejados das Bases
– Rejoin de Instâncias de Bases de Dados Banco de Dados Oracle
• Balanceamento de Carga de Instâncias Oracle Database Service Oracle Notification Service
• Roteamento de Conexões baseado em XA
• Suporte à SCANs
RAC Node 1 RAC Node 3
• Suporte ao Data Guard RAC Node 2 RAC Node 4
7 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
8. Active GridLink for Oracle RAC
Principais Características
WebLogic WebLogic WebLogic WebLogic WebLogic WebLogic
GridLink GridLink GridLink GridLink GridLink GridLink
XA
80% 20%
Balanceamento Inteligente Afinidade de Nós do RAC Conexões Contínuas Mesmo
da Carga nos Nós do RAC para as Transações com Mudanças no RAC
8 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
9. Balanceamento da Carga em Tempo Real
Oracle
RAC
Pool de Conexões do 30% das Conexões
Oracle WebLogic
Instância 1
10% das Conexões
Aplicação Estou Ocupado
Instância 2
60% das Conexões Instância 3
9 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
11. Active GridLink: Suporte ao Data Guard
Balanceador de Carga
Site Ativo Global (Ex: F5, Alteon) Site de Backup
Web Tier Web Tier
Web Web Web Web
Server Server Server Server
Middleware Middleware
Binários Binários
GridLink GridLink
Configuração Configuração
Data Data
Logs de Transação Source Source Logs de Transação
Mensagens JMS Mensagens JMS
Conexões JDBC Conexões JDBC
Data Tier Data Tier
Dados da Aplicação Data Guard Dados da Aplicação
11 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
12. Configuração do Active GridLink: Parte 1
12 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
13. Configuração do Active GridLink: Parte 2
13 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
14. Configuração do Active GridLink: Parte 3
14 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
16. Cameron Purdy
VP of Development, Oracle
(Coherence Inventor and
Tangosol Co-Founder)
“A data grid is a system composed of multiple servers
that work together to manage information and related
operations - such as computations - in a distributed
environment.”
16 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
17. Oracle Coherence: Elastic Data Grid
Visão Geral sobre o Data Grid da Oracle
• Memória virtual distribuída em
Oracle WebLogic IBM Websphere
múltiplos servidores na rede
• Os nós podem ser adicionados Coherence
Oracle Coherence
e removidos dinâmicamente JVM JVM JVM
S.O S.O S.O
• Escalabilidade linear através de
milhares de servidores na rede
• Alta disponibilidade “de-facto”
via redundância dos dados
• Alta performance através de
paralelização do processamento
17 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
18. Oracle Coherence: Elastic Data Grid
Caching
Aplicações requisitam e gravam os dados no cache ao invés
de acessar as fontes de dados transacionais
Análises
Aplicações realizam consultas simples e complexas no grid
Transações
O data grid atua como um sistema transacional, guardando os
dados e efetuando as operações atômicas nos dados
Eventos
Processamento automatizado baseado em eventos contínuos
18 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
19. Topologias de Cache
Flexibilidade Transparente
Topologias de Acesso aos Dados
• O Coherence provê diversos tipos
de topologias para gerenciamento
dos dados no grid
• Local, Near, Replicated, Overview,
Disk, Off-Heap, Extend (WAN),
Extend (Clients)
19 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
20. POF (“Portable Object Framework”)
Serialização Avançada e em Alta Performance
• Comparação Simples sobre Serialização
– Em XML
• <date format=“java.util.Date”>2012-03-28</date>
• 47 caracteres (possivelmente 94 bytes dependendo do encoding)
– Em Java (java.util.Date usando java.io.ObjectOutputStream)
• 46 bytes
– Usando a serialização do Coherence (POF)
• 4F 58 1F 70 6C = 5 bytes
20 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
22. Oracle WebLogic + Oracle Coherence
O que é o ActiveCache?
• Integração do Coherence com o
WebLogic Server 12c:
– Suporte ao Coherence*Web SPI
– Suporte a Cache de JPA (L1/L2)
+ – Coherence DI (“Dependency
Injection”) e Agregação de Serviços
– Gerenciamento e Monitoração via o
Oracle WebLogic Adm. Console
22 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware
23. Oracle WebLogic + Oracle Coherence
O quê: Gerenciamento Distribuído de Sessões HTTP
• Integração de aplicações: Compartilhe as sessões entre aplicações
• Ambientes heterogêneos: Compartilhe sessões entre o WebLogic,
GlassFish, WebSphere e JBoss
• Sessões HTTP muito grandes: Guarde mais dados fora do AppServer
Por quê isso é Importante?
• Tire essa responsabilidade e peso do contêiner web (+ performance)
• Suporte mais usuários Sem ter que Adicionar mais application servers
• Reinicie e altere as aplicações/servidores sem perder as sessões
• Manipule sessões HTTP gigantes de forma muito mais eficiente
• Possibilite a interoperabilidade de sessões entre vários AppServers
23 Oracle Technical Workshop | WebLogic 12c & Fusion Middleware