CONSTRUINDO SITES 
MAIS INTELIGENTES 
COM GALEB 
Fernando Carolo 
globo.com
Galeb?
Roteador/proxy HTTP/1.1 
Inspiração: Heroku, App Engine
1990: 1 site = 1 servidor
2000: balanceador de carga
1 site = 1 IP = vários servidores 
Vários sites?
Virtual hosts 
Servidores precisam ser iguais 
Mudança = reload, restart
HTTP
Roteamento HTTP 
Virtual host = pool de servidores 
Mudanças sem interrupção
*.example 
galeb 
192.0.2.10 
one.example other.example
Galeb trabalha na camada 7 
Redundância via camada 4 
(hardware, ELB, etc)
Features
Políticas de balanceamento 
round robin 
least conn 
IP hash 
random
Métricas via statsd+Graphite [1,2] 
conexões ativas 
requisições/host 
status code (2xx, 3xx, 4xx, 5xx) 
tempo de resposta
Casos de uso 
ambientes de teste/IC 
red/black deploy 
PaaS
Como funciona?
Primeira tentativa: hipache [3] 
Node.js + node-http-proxy
Single-threaded
Versão atual: Galeb Router 
Baseado em Vert.x [4]
Java
Multi-threaded
Não bloqueante
Operação em cluster 
masterless 
sincronismo via event bus 
Escalabilidade horizontal
API RESTful 
Reflexos na próxima requisição
Roadmap
“Every good work of software 
starts by scratching a 
developer's personal itch.” 
–Eric S. Raymond
Substituir o hardware
Roteamento por URI 
vários back-ends para um site 
um back-end para vários sites
one.example 
galeb 
192.0.2.10 
one.example/blog one.example/*
Integração com Tsuru
Websockets
Tratamento de cookies 
controle de sessão 
teste A/B
Health-check ativo 
Controle de acesso 
HTTP/2.0
Demonstração
Onde?
galeb.io
github.com/globocom/galeb/
Use e contribua
Perguntas?
OBRIGADO 
Fernando Carolo 
carolo@corp.globo.com 
Este trabalho está licenciado com uma Licença Creative Commons 
Atribuiç...
Links: 
[1] https://codeascraft.com/2011/02/15/measure-anything-measure-everything/ 
[2] http://graphite.wikidot.com/ 
[3]...
Próximos SlideShares
Carregando em…5
×

Construindo sites mais inteligentes com Galeb - Fernando Carolo (Globo.com), WeOp - The Operations Summit 2014

208 visualizações

Publicada em

Galeb é um roteador de requisições HTTP que permite a criação de sites combinando diversos sistemas e plataformas numa experiência única para o usuário. Venha descobrir como ele faz isso de forma simples e eficiente.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
208
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Construindo sites mais inteligentes com Galeb - Fernando Carolo (Globo.com), WeOp - The Operations Summit 2014

  1. 1. CONSTRUINDO SITES MAIS INTELIGENTES COM GALEB Fernando Carolo globo.com
  2. 2. Galeb?
  3. 3. Roteador/proxy HTTP/1.1 Inspiração: Heroku, App Engine
  4. 4. 1990: 1 site = 1 servidor
  5. 5. 2000: balanceador de carga
  6. 6. 1 site = 1 IP = vários servidores Vários sites?
  7. 7. Virtual hosts Servidores precisam ser iguais Mudança = reload, restart
  8. 8. HTTP
  9. 9. Roteamento HTTP Virtual host = pool de servidores Mudanças sem interrupção
  10. 10. *.example galeb 192.0.2.10 one.example other.example
  11. 11. Galeb trabalha na camada 7 Redundância via camada 4 (hardware, ELB, etc)
  12. 12. Features
  13. 13. Políticas de balanceamento round robin least conn IP hash random
  14. 14. Métricas via statsd+Graphite [1,2] conexões ativas requisições/host status code (2xx, 3xx, 4xx, 5xx) tempo de resposta
  15. 15. Casos de uso ambientes de teste/IC red/black deploy PaaS
  16. 16. Como funciona?
  17. 17. Primeira tentativa: hipache [3] Node.js + node-http-proxy
  18. 18. Single-threaded
  19. 19. Versão atual: Galeb Router Baseado em Vert.x [4]
  20. 20. Java
  21. 21. Multi-threaded
  22. 22. Não bloqueante
  23. 23. Operação em cluster masterless sincronismo via event bus Escalabilidade horizontal
  24. 24. API RESTful Reflexos na próxima requisição
  25. 25. Roadmap
  26. 26. “Every good work of software starts by scratching a developer's personal itch.” –Eric S. Raymond
  27. 27. Substituir o hardware
  28. 28. Roteamento por URI vários back-ends para um site um back-end para vários sites
  29. 29. one.example galeb 192.0.2.10 one.example/blog one.example/*
  30. 30. Integração com Tsuru
  31. 31. Websockets
  32. 32. Tratamento de cookies controle de sessão teste A/B
  33. 33. Health-check ativo Controle de acesso HTTP/2.0
  34. 34. Demonstração
  35. 35. Onde?
  36. 36. galeb.io
  37. 37. github.com/globocom/galeb/
  38. 38. Use e contribua
  39. 39. Perguntas?
  40. 40. OBRIGADO Fernando Carolo carolo@corp.globo.com Este trabalho está licenciado com uma Licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional
  41. 41. Links: [1] https://codeascraft.com/2011/02/15/measure-anything-measure-everything/ [2] http://graphite.wikidot.com/ [3] https://github.com/hipache/hipache/ [4] http://vertx.io/ Créditos: Slide 2: paraflyer/Flickr, https://www.flickr.com/photos/paraflyer/5803595153 Slide 4: Simon Bisson/Flickr, https://www.flickr.com/photos/sbisson/298160250 Slide 5: Shannan Muskopf/Flickr, https://www.flickr.com/photos/40964293@N07/3821896226 Slide 8: Stephan Mosel/Flickr, https://www.flickr.com/photos/moe/38241195 Slide 12: Norlando Pobre/Flickr, https://www.flickr.com/photos/npobre/2601582256 Slide16: Darryl Braaten/Flickr, https://www.flickr.com/photos/dbraaten/323401934 Slide 18: Andrew Magill/Flickr, https://www.flickr.com/photos/amagill/87559968 Slide 20: Michael Allen Smith/Flickr, https://www.flickr.com/photos/digitalcolony/8489709854 Slide 21: Alika Seu/Flickr, https://www.flickr.com/photos/28863939@N04/5478630263 Slide 22: Alan Stark/Flickr, https://www.flickr.com/photos/squeaks2569/8114399667 Slide 25: mrhayata/Flickr, https://www.flickr.com/photos/mrhayata/5260658138 Slide 27: jerry john/Flickr, https://www.flickr.com/photos/jerryjohn/63351388 Slide 30: Toshihiro Gamo/Flickr, https://www.flickr.com/photos/dakiny/8299559189 Slide 31: Wes Peck/Flickr, https://www.flickr.com/photos/wespeck/4960579336 Slide 34: Rede Globo/Divulgação Slide 35: velkr0/Flickr, https://www.flickr.com/photos/velkr0/4014689 Slide 36: Seattle Municipal Archives/Flickr, https://www.flickr.com/photos/seattlemunicipalarchives/2692491283 Slide 37: Sebastian Niedlich/Flickr, https://www.flickr.com/photos/42311564@N00/3577957474 Slide 38: Ged Carroll/Flickr, https://www.flickr.com/photos/renaissancechambara/5084900444 Slide 39: Matthias Ripp/Flickr, https://www.flickr.com/photos/56218409@N03/15371262455 Todas as imagens do Flickr utilizadas através de uma licença Creative Commons

×