stream processing com python e apache storn
Post on 15-Apr-2017
403 Views
Preview:
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
top related