Tags

, , ,

Oracle Coherence – Neste e nos proximos posts irei falar um pouco sobre essa solução da Oracle que lhe ajudará em problemas de performance.

Consulte os Links abaixo para verificar as demais partes deste nosso Projeto:

O que é:

O Oracle Coherence é a solução de in-memory data grid da Oracle. Com o Oracle Coherence, as aplicações de missão crítica podem escalar de forma previsível, fornecendo acesso rápido a dados usados com frequência. Ele permite que os aplicativos escalem de modo linear e dinâmico, gerando custos previsíveis, permitindo aumentos nas taxas de transações e redução dos tempos de resposta do aplicativo.

Mesmo no caso de falha no servidor, o Oracle Coherence permite a disponibilidade contínua de dados e integridade transacional. As aplicações também beneficiam-se de sua capacidade de processamento de transações, combinando dados distribuídos e poder de computação de grade para obter processamento avançado e confiável de transações.

Características e Benefícios

Escalabilidade previsível de aplicações: – Permite que as aplicações escalem de modo linear e dinâmico para utilização de recursos avançada e custo previsível

Níveis de serviço aprimorados – Permite aumentos nas taxas de transação enquanto reduz os tempos de resposta da aplicação

Particionamento automático e dinâmico – Permite a integridade transacional e a disponibilidade de dados contínua, mesmo no caso de falha no servidor

Permite processamento de transações extremo (XTP) – Combina dados distribuídos e poder de computação de grade para obter processamento avançado, rápido e confiável de transações

ActiveCache – Aceleração simplificada de aplicações Web executadas no Oracle WebLogic Server Suporta Java, .NET e C++

Permite uma offload sessão cheia – Instâncias Oracle WebLogic pode ser focado em processamento de solicitações Oracle WebLogic; no entanto, em alguns casos, sessões HTTP são grandes, e há um trade-off entre os benefícios de offloading toda a sessão do usuário, e reduzir o uso da rede, transferindo apenas o objeto que precisa ser compartilhada entre as diferentes aplicações.

Oracle Coherence é construído com baixa latência, non-blocking I/O como uma função primordial, mas ainda leva tempo e largura de banda para transmitir ao trabalhar com grandes volumes de dados. Em tais situações, que seria útil para ser capaz de selecionar quais atributos de sessão deve ser armazenado no armazenamento local das instâncias Oracle WebLogic, e que deve ser aproveitado para um Cache distribuído Oracle Coherence.

A configuração de armazenamento em Coherence pode ser configurado em uma ampla variedade de maneiras. Para equilibrar entre o descarregamento de instâncias Oracle WebLogic e mitigar o desempenho perdido por armazenar toda a sessão http em um Oracle Coherence dedicado, um subconjunto de atributos de sessão podem ser armazenados no Cache externo Oracle Coherence através do uso de um controlador de distribuição de sessão personalizado.

Outra razão para descarregar alguns atributos da sessão do Oracle WebLogic é compartilhar esse conjunto de atributos com Aplicações Web implantados em diferentes Clusters de Oracle WebLogic. Um controlador de distribuição sessão nos permite adicionar lógica para deduzir se um atributo de sessão devem ser armazenados no cache distribuído.

Qualquer um que tenha tentado gerenciar nós Coherence ou tentou resultados de Cache no OSB, irá apreciar a nova funcionalidade que já está disponível. A partir de WebLogic Server 10.3.4, você pode usar o WebLogic Administration Server, através do Console de Administração ou WLST, e baseado em Java Node Manager para gerenciar e monitorar o ciclo de vida dos servidores de cache Coherence autônomos. Este é um grande passo em frente como as opções anteriores envolvido principalmente a escrever seus próprios scripts para fazer isso.

No Oracle Service Bus 11gR1 (11.1.1.3.0), OSB agora suporta o armazenamento em Cache usando Business Services com Coherence. Se você usar Business Services que retornam resultados um tanto estáticos que não mudam frequentemente, você pode configurar esses serviços prestados às empresas para resultados de cache. Para Business Services que usam o Cache de Resultado, você pode controlar o tempo de vida para o resultado em cache. Após o resultado em cache expirar, os próximos Serviços resultam em chamar o serviço de back-end para obter o resultado. Este resultado é então Armazenado no Cache para futuras solicitações para acesso.

Caching resultado em uma JVM dedicado

Imagem Blog UansCarvalho

Este exemplo demonstra esses novos recursos, configurando um OSB Business Service para armazenar resultados em cache em um JVM separado Coherence geridos pelo WebLogic.

A razão pela qual você pode querer usar, uma JVM dedicado separado é que os dados de cache resultado poderia ser potencialmente muito grande e você pode querer proteger o seu heap OSB java.

Nos proximos Posts irerei realizar alguns exemplos, onde o cliente chama um serviço de proxy OSB para obter os dados dos empregados com base em um ID do funcionário. Usando um serviço de negócios, OSB chama um sistema externo. Os resultados são automaticamente armazenados em cache e quando chamado novamente, os respectivos resultados são obtidos a partir do cache em vez de o sistema externo.

Abraços e até a Próxima

/:-D