precisa de uma solução de registro durável distribuída de alto desempenho para várias origens de log

2

Procurando uma solução escalável distribuída de alto desempenho para armazenar toneladas de mensagens de log. Temos várias fontes de log simultâneas (= servidores).

O interessante aqui é que o desempenho é crucial e estamos até mesmo dispostos a perder um pequeno percentual (digamos, max 2%) de todas as mensagens diárias se o sistema de log funcionar melhor. / p>

Queremos processar as mensagens de registro diariamente com um algoritmo on-line, para que não seja necessário nenhum tipo de banco de dados relacional sofisticado. Quer apenas analisar os dados sequencialmente e calcular alguns agregados e tendências.

É disso que precisamos:

  • Pelo menos 98% das mensagens devem ser armazenadas. Não é um problema perder algumas mensagens.
  • Depois que uma mensagem é armazenada, ela deve ser armazenada de forma confiável (Durable aka D from ACID - então, basicamente, a replicação é necessária)
  • Várias fontes.
  • As mensagens devem ser armazenadas de forma sequencial, mas a ordenação exata não é necessária (esperamos que duas mensagens mais distantes do que alguns segundos estejam na ordem correta, mas mensagens próximas umas das outras podem estar em ordem arbitrária)
  • Precisamos ser capazes de processar os dados diários sequencialmente (idealmente de alguma maneira confiável, como map-reduce, de modo que as falhas da máquina sejam tratadas e o processamento em nós com falhas seja reiniciado)

Qualquer RDBMS certamente não é uma opção aqui, pois garante muitas propriedades (desnecessárias para essa tarefa).

    
por Karoly Horvath 15.04.2011 / 18:01

2 respostas

3

Eu acho que você quer Flume . Ele parece atingir a maioria dos pontos que você está procurando - várias fontes, confiabilidade (garantia E2E), capacidade de gravar em HDFS (armazenamento distribuído tolerante a falhas, integra-se ao Hadoop para mapear / reduzir.

Edit: Eu também gostaria de mencionar Scribe como outra possibilidade. É baseado em C ++, escrito pelo Facebook, mas parece ter sido abandonado principalmente pelo upstream. Ainda assim, é muito mais baixo que o Flume, mesmo assim, incluindo a pegada de todas as dependências do Flume, como Zookeeper. E também pode escrever para o HDFS.

    
por 15.04.2011 / 19:29
1

Uma configuração distribuída do Splunk atenderia às suas necessidades, mas parece que você tem um grande volume de dados de log; é licenciado com base na quantidade de dados indexados por dia, por isso não seria barato.

    
por 15.04.2011 / 18:08