stream processing com python e apache storn

Post on 15-Apr-2017

394 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

www.azion.com

Stream processing com Python e Apache Storm Victor Poluceno

CDNContent Delivery Network

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 -

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

Baixa latênciado inicio ao fim do pipeline

Elasticidadeaceitar 100x o volume normal

Escalabilidade linearCrescer capacidade com aumento de recursos

Coleta

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

Armazenamento temporário

Consumidores

Stream Processing

PyleusFramework Python desenvolver topologias Storm

Armazenamento permanente

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

Cassandra counterUse com cuidado

Acesso exclusivo por particionamento

Counter distribuído e consistente

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

Macro Arquitetura

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

Lições aprendidasSistemas distribuídos e resilientes

Dividir para conquistarDividir pipelines e responsabilidades

Visibilidadesobre o comportamento do sistema

Limpar o caminho criticoManter o loop de processamento estatico

Bare metalDiminuir as variáveis afetando a latência

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

Obrigado!Para mais informações, acesse:

www.azion.com

top related