BT

Hazelcast 2.0: cache e backup distribuído, memória otimizada

por Charles Humble , traduzido por Eder Magalhães em 20 Mar 2012 |

Foi lançada recentemente a versão 2.0 do Hazelcast, uma plataforma Java para caching e armazenamento de dados distribuídos em cluster. São algumas das novas características do Hazelcast 2.0 uma nova funcionalidade de backup distribuído, a comunicação I/O através de única thread e os novos tratadores de eventos. A partir da versão 2, o Hazelcast passa a ser distribuído de duas formas: Enterprise e Community Edition.

O Hazelcast Community Edition é distribuído sob a licença Apache versão 2 e hospedado no Google Code. Com essa distribuição é possível armazenar e compartilhar dados na memória operando sobre um cluster de máquinas, baseado numa solução ponto a ponto (p2p). Já na distribuição comercial, o Hazelcast Enterprise Edition, disponibiliza funcionalidades adicionais como "memória elástica" (Elastic Memory) e mais opções de segurança. O licenciamento da versão Enterprise segue o modelo de subscrição anual por nó (node).

Uma das principais novidades do Hazelcast 2.0 é a funcionalidade de backup distribuído, que foi projetada para garantir o backup dos dados uniforme em todos os nós. Os dados de propriedades de um membro do cluster serão copiados para todos os outros membros desse mesmo cluster; ou seja, o objetivo é tornar cada membro do cluster responsável pelo backup dos outros nós.

Segundo Talip Ozturk, fundador do Hazelcast, essa estratégia torna mais eficiente o backup de grandes volumes de dados:

O backup dos dados é distríbuido de maneira que a perda de um nó tem muito pouco efeito sobre o cluster. Isso importa muito quando você tem grande volume de dados em memória.

Esse mecanismo funciona através da distribuição de porções dos dados de cada nó em todos os outros nós do cluster. Um exemplo de como o backup funcionaria seria: um cluster formado por cinquenta nós, sendo que cada nó tem a capacidade de armazenar 20 GB de dados e 20 GB de backup. Um desses nós teria seus dados fragmentados em 49 porções, de acordo com a quantidade de membros cluster, cada uma dessas porções serão replicadas nos outros membros do cluster. Caso um novo nó seja adicionado, o Hazelcast migra os dados para esse novo nó, de modo que todos os nós fiquem com mesmo nível de carga.

A nova versão do Hazelcast disponibiliza outras melhorias, entre elas:

  • IO paralelo, combina os fluxos In e Out em uma única thread, aumentando a vazão ou throughput na rede. (Na versão 1.0 cada membro tinha uma thread In e outra thread Out, para gerenciar a comunicação com outros membros usando NIO channels.)
  • Melhor conectividade: o Hazelcast 2.0 ficou mais tolerante a falhas de conexão. Caso ocorra uma falha desse tipo, o sistema tenta se recuperar a comunicação antes de considerar o membro fora do cluster.
  • Novos receptores de eventos, foram desenvolvidos novos receptores de eventos para objetos contidos em coleções Queue, List, Set e Topic. Com esses receptores o Hazelcast define um fluxo mais adequado para deserializar os itens das coleções.

Em segurança, o produto inclui uma implementação baseada no JAAS, que pode ser usada para autenticar os membros e clientes de um cluster, além de controlar o acesso e permissões disponíveis para um determinado cliente. A segurança pode ser configurada via XML ou através de uma API.

O Elastic Memory é uma estrutura desenvolvida pelo Hazelcast para armazenar os dados fora do heap, para evitar grandes pausas do coletor de lixo. Além de diminuir essas pausas, pode ser utilizado para diminuir o consumo da memória de heap.

O Hazelcast também oferece, no modelo comercial, uma ferramenta gráfica para gerenciamento do cluster: o Hazelcast Managment Center. O Hazelcast oferece um programa de suporte, com alguns modelos de cobrança. No site do projeto é possível acessar a documentação e realizar o download do Hazelcast.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT