Stream processing com Python e Apache Storn

31
www.azion.com Stream processing com Python e Apache Storm Victor Poluceno

Transcript of Stream processing com Python e Apache Storn

Page 1: Stream processing com Python e Apache Storn

www.azion.com

Stream processing com Python e Apache Storm Victor Poluceno

Page 2: Stream processing com Python e Apache Storn
Page 3: Stream processing com Python e Apache Storn

CDNContent Delivery Network

Page 4: Stream processing com Python e Apache Storn

v1 2015-08-18T14:02:29+00:00 7778s27778s hdimages.livrariasaraiva.com.br 0.000GETHIT - 200 https/imagem/`?L=200&A=-1&pro_id=1910801 image/webpHTTP/1.17316 - 224625 200.182.220.130 19536TLSv1.2ECDHE-RSA-AES128-GCM-SHA256 . Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 http://saraiva.sys.social/trend/vitrine.php -

Page 5: Stream processing com Python e Apache Storn

Sinal e ruídoou como extrair métricas dos logs

Page 6: Stream processing com Python e Apache Storn

Baixa latênciado inicio ao fim do pipeline

Page 7: Stream processing com Python e Apache Storn

Elasticidadeaceitar 100x o volume normal

Page 8: Stream processing com Python e Apache Storn

Escalabilidade linearCrescer capacidade com aumento de recursos

Page 9: Stream processing com Python e Apache Storn
Page 10: Stream processing com Python e Apache Storn

Coleta

Page 11: Stream processing com Python e Apache Storn

Mensagem{ ‘event_id’: ‘ff5a727e-45e2-11e5-96d6-08002760fc47', 'partition': 0, ’event': { 'payload': ’lines here…’, 'family': ‘http', 'metadata': { '__location': ‘poa001', '__hostname': ‘localhost’ } }, 'event_timestamp': 147689768976 }

Page 12: Stream processing com Python e Apache Storn

Armazenamento temporário

Page 13: Stream processing com Python e Apache Storn
Page 14: Stream processing com Python e Apache Storn

Consumidores

Page 15: Stream processing com Python e Apache Storn

Stream Processing

Page 16: Stream processing com Python e Apache Storn

PyleusFramework Python desenvolver topologias Storm

Page 17: Stream processing com Python e Apache Storn

Armazenamento permanente

Page 18: Stream processing com Python e Apache Storn
Page 19: Stream processing com Python e Apache Storn

Contando coisasContadores distribuidos não são fáceis

Page 20: Stream processing com Python e Apache Storn

Cassandra counterUse com cuidado

Page 21: Stream processing com Python e Apache Storn

Acesso exclusivo por particionamento

Counter distribuído e consistente

Page 22: Stream processing com Python e Apache Storn

Bloom FilterUtilizado para saber se um update já foi processado.

Page 23: Stream processing com Python e Apache Storn

Macro Arquitetura

Page 24: Stream processing com Python e Apache Storn

Latência ~500 msWrite < 500 ms e read < 50ms

Page 25: Stream processing com Python e Apache Storn

Lições aprendidasSistemas distribuídos e resilientes

Page 26: Stream processing com Python e Apache Storn

Dividir para conquistarDividir pipelines e responsabilidades

Page 27: Stream processing com Python e Apache Storn

Visibilidadesobre o comportamento do sistema

Page 28: Stream processing com Python e Apache Storn

Limpar o caminho criticoManter o loop de processamento estatico

Page 29: Stream processing com Python e Apache Storn

Bare metalDiminuir as variáveis afetando a latência

Page 30: Stream processing com Python e Apache Storn

Ambiente de canaryPrevenção contra modificações ruins ou erros humanos

Page 31: Stream processing com Python e Apache Storn

Obrigado!Para mais informações, acesse:

www.azion.com