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
Quaisquer outras ideias para além de lançar o nosso solução própria?
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.
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.
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.
Http://www.oracle.com/technology/products/coherence/index.html
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.
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.