Caching distribuído [encerrado]

Estou à procura de uma solução de cache distribuída java. Gostaríamos de ter características como:

  • distribuído
  • Auto-Descoberta
  • redundância
  • Não Centralizado
Analisámos uma estrutura como Terracota, que parece ser tudo o que queremos de uma estrutura de cache... No entanto, parece haver um nó central de cache(s) que é necessário que se tornem nosso ponto único de falha.

Quaisquer outras ideias para além de lançar o nosso solução própria?

Author: skaffman, 2009-09-28

8 answers

Eu sugiro Jboscache ou EhCache (com um ouvinte de cache distribuído). Eu usei ambos, eu gosto de ambos, e ambos se encaixam nas suas exigências.

 6
Author: skaffman, 2009-09-28 13:11:11

TentaHazelcast . É uma plataforma de distribuição de dados altamente escalável para Java. Cumpre todas as suas exigências. Além disso, é super fácil de usar.

 14
Author: Fuad Malikov, 2010-02-20 20:26:53

A Terracotta adquiriu recentemente a Ehcache e lançou uma integração apertada da API Ehcache com a Loja agrupada de Terracotta num pacote simples e só necessita de algumas linhas extra de configuração da Ehcache para passar de um nó a um agrupamento, embora também tenha de executar o processo do servidor de Terracotta.

Ehcache with the Terracotta ES edition is open source and free to use. As licenças comerciais estão disponíveis se você quiser suporte, mais escala, indemnização, suporte de patch, etc.

Terracotta usa um servidor central array , não um único servidor central, por isso não há um único ponto de falha! Você pode configurar tantos Servidores de backup quentes quanto você quiser e estes servidores de backup podem ser configurados para assumir quando o servidor ativo cai. Com Terracotta FX (Produto Comercial), Você também pode usar vários servidores ativos.

 4
Author: Alex Miller, 2009-11-10 02:26:56
Tenta Infinispan . A cache Infinispan pode ser usada como cache distribuído e também pode ser usada como cache replicado . Não há possibilidade de falha de ponto único . No modo de cache distribuído pode fornecer mais espaço do que o tamanho do Heap. Considere que há 4 nós no cluster cada um com tamanho de Heap 1GB e uso Infinispan como cache replicado então o cluster do tamanho total tem 1 Gb mas se Infinispan usado como cache distribuído e definir 2 cópias por item de dados então o tamanho total será 2Gb . http://www.jboss.org/infinispan
 4
Author: Hitesh, 2013-01-11 07:04:43
Já olhaste para a coerência? Achamos muito útil. Mas não é de código aberto ou barato.

Http://www.oracle.com/technology/products/coherence/index.html

 2
Author: andy boot, 2009-09-28 13:06:32

Normalmente um único ponto de falha ocorre quando toda a operação é feita em um único nó e se esse nó cai, toda a operação pode cair. a solução deste problema é usar topologia como réplica ou réplica de partição. se uma vez que o nó cai, toda a operação irá mudar para um outro nó sem qualquer tipo de perda de dados.

Na medida em que as características que você está procurando podem ser encontradas em um único produto, NCache , como Umer também mencionou.

 1
Author: Jammy, 2012-05-16 07:33:31

Estou atrasado para a festa mas já tentaste TayzGrid, um cache distribuído java . Também conhecido como grade de dados de memória ou armazenamento de valor-chave.

Responde a todas as suas necessidades básicas

- Distributed
- Auto-Discovery
- Redundancy
- Non-Centralized
Também gere cenários avançados de falha, como o cérebro dividido e recomeços repentinos. Todos os nós são inteligentes, portanto, completamente distribuídos.

Você também pode fazer uma escolha de qual topologia você quer usar (partição ou replicado). Se quiseres. use topologias mais avançadas (partição da réplica) então você pode talvez comprar uma licença.

 1
Author: Basit Anwer, 2015-12-16 06:12:41