Relação entre Storm e outros componentes
O Storm fornece uma estrutura de computação distribuída em tempo real. Ele pode obter mensagens em tempo real de fontes de dados (como Kafka e conexão TCP), executar computação em tempo real de alta taxa de transferência e baixa latência em uma plataforma em tempo real e exportar resultados para filas de mensagens ou implementar persistência de dados. Figura 1 mostra a relação entre Storm e outros componentes.
Relação entre Storm e Streaming
Tanto o Storm quanto o Streaming usam o Apache Storm kernel de código aberto. No entanto, a versão do kernel usada pelo Storm é a 1.2.1, enquanto a usada pelo Streaming é a 0.10.0. Streaming é usado para herdar serviços de transição em cenários de atualização. Por exemplo, se o Streaming tiver sido implantado em uma versão anterior e os serviços estiverem em execução, o Streaming ainda poderá ser usado após a atualização. Storm é recomendado em um novo cluster.
Storm 1.2.1 tem as seguintes novas funcionalidades:
- Cache distribuído: fornece recursos externos (configurações) necessários para compartilhar e atualizar a topologia usando ferramentas CLI. Você não precisa reempacotar e re-implementar a topologia.
- API de janela de Streaming nativa: fornece APIs baseadas em janela.
- Agendador de recursos: adicionou o plug-in do agendador de recursos. Ao definir uma topologia, você pode especificar o máximo de recursos disponíveis e atribuir cotas de recursos aos usuários, para gerenciar os recursos de topologia dos usuários.
- Gestão de estado: fornece a API de Bolt com o mecanismo de ponto de verificação. Quando um evento falha, Storm gerencia automaticamente o status de Bolt e restaura o evento.
- Amostragem e depuração de mensagens: na interface do usuário do Storm, você pode ativar ou desativar a depuração em nível de topologia ou componente para enviar mensagens de fluxo para logs especificados com base na taxa de amostragem.
- Análise dinâmica de Worker: na IU do Storm, você pode coletar logs de jstack e heap do processo de Worker e reiniciar o processo de Worker.
- Ajuste dinâmico de logs de topologia: você pode alterar dinamicamente os logs de topologia em execução na CLI ou na IU do Storm.
- Desempenho melhorado: em comparação com as versões anteriores, o desempenho de Storm é bastante melhorado. Embora o desempenho da topologia esteja intimamente relacionado ao cenário de caso de uso e à dependência de serviços externos, o desempenho é três vezes maior na maioria dos cenários.