Qualquer experiência usando Terracotta open source?
-
07-07-2019 - |
Pergunta
Alguém tem experiência com a oferta de código aberto da Terracotta em oposição a sua oferta empresa? Especificamente, eu estou interessado em saber se vale a pena o esforço para uso de terracota sem as ferramentas da empresa para gerenciar seu cluster?
Over-simplificado resumo de utilização: nós somos uma pequena empresa com um orçamento limitado que precisa milhões de processos de registros e escala para centenas de milhares de page views por dia
.Solução
No momento, as ferramentas empresariais terracota fornecer apenas algumas características além da versão open source em torno de coisas como a visualização e gestão (como a capacidade de chutar um cliente fora do cluster). Que vai continuar a divergir e as ferramentas corporativas tendem a vangloriar-se mais funcionalidade em nível de operador de torno de coisas como gerenciamento e monitoramento, mas certamente você pode gerenciar e ajustar um aplicativo, mesmo com as ferramentas de código aberto.
A licença da empresa também dá-lhe coisas como suporte, indenização, etc que pode ou não pode ser tão importante para você como o ferramental.
peço-lhe para experimentar por si próprio. Se você gostaria de ver um exemplo de um aplicativo real usando Terracotta, você deve verificar se este aplicativo de referência web que acabou de ser lançado:
Outras dicas
Estou em um processo de integração Terracotta com o meu projeto (um sensor nó simulador de rede). Cerca de três semanas atrás eu descobri sobre Terracotta de um dos meus colegas. E agora meu aplicativo aproveita a computação em grade usando Terracotta. Abaixo eu resumiu alguns pontos essenciais da minha experiência com Terracotta.
- O site Terracotta contém documentação muito detalhada. Este artigo provavelmente um bom ponto de partida para um desenvolvedor Conceito e guia de Arquitetura
- Quando você está preso com um problema e não encontrou resposta na documentação, o href="http://forums.terracotta.org/forums/forums/list.page" rel="noreferrer"> comunidade é um bom lugar para fazer perguntas. Parece que os desenvolvedores de terracota verificá-lo em uma base regular e muito responsivo.
- Mesmo que Terracotta está sendo executado em JVM e é anunciado que é apenas uma questão de configuração para torná-lo aplicativo em execução em um cluster, você deve estar pronto que pode exigir a introduzir algumas mudanças sérias na sua aplicação para torná-lo executar razoavelmente bem. Por exemplo. Eu tive que reescrever completamente lógica de sincronização do meu aplicativo.
- Boa integração com Eclipse.
- console de administração é uma grande ferramenta e isso me ajudou muito na aprimorando meu aplicativo para executar decentemente sob Terracotta. Ele coleta todas as métricas de desempenho de servidores e clientes só pode pensar. Ele certamente tem algumas questões relacionadas com GUI, mas que não: -)
- Prefere primitivas de sincronização Java padrão (sincronizado / wait / notificar) sobre java.util.concurrent. * cidadãos. Descobri que primitivas padrão proporcionam maior flexibilidade (pode ser configurado para ser uma leitura ou cluster escrita de bloqueio ou até mesmo não-a-lock em todos), mais fácil de controlar no Admin Console (você vê o nome da classe do objeto que está sendo bloqueado em vez em seguida, por exemplo, alguns ReentrantLock).
Espero que ajude.
Você pode querer dar uma olhada em JBossCache / PojoCache que é uma solução de cache em memória distribuída. A diferença é que ele usa uma API simples para propagar objetos em todo o seu 'cluster' de caches, onde, como Terracotta trabalha no nível classloading / JVM.
(Eles realmente não têm o seu próprio JVM, mas eles modificar classes como eles são carregados, que lhes permitam ser 'clusterable')
Nossa empresa teve muita sorte com JBossCache, eu recomendo verificar-se.
Atualizar
O que eu vejo na mensagem OP é "bem, eu realmente não sei o que precisamos (assim, a falta de requisitos detalhados), mas pode ser alguma ferramenta enterprizey irá magicamente resolver todos os nossos problemas, conhecidas e imprevistas? Isso seria incrível !"
Com uma abordagem de arquitetura como este não vai voar. Há histórias de sucesso de Teracotta mudaria isso.
OSS é benéfico quando a comunidade em torno dele pode substituir o suporte comercial. Suponha que o cara tem um problema na produção. Comunidade não pode ajudar - é muito pequeno para o produto obscuro como este. Os servidores são para baixo, o negócio está em perigo. Entende? Você precisa de uma licença comercial up-front. Sem dinheiro? Bem, então você está não um negócio , e provavelmente não vai se tornar um (se ninguém está disposto a investir nele).
Desculpe por interromper o seu dia-sonhando.
IMHO:
Terracotta é uma solução de cluster. Clustering é necessária para aplicações de grande, de nível empresarial. Grandes aplicações significar grandes orçamentos. Grandes orçamentos significa que você pode pagar licença comercial do Terracotta.
Para colocá-lo de outra forma: se você não tem orçamento para comprá-lo, provavelmente não é benéfico para o seu projeto.