Your SlideShare is downloading. ×
Arquitetura de Email de Larga Escala
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Arquitetura de Email de Larga Escala

1,069
views

Published on

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,069
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Arquitetura de Email de Larga Escala
  • 2. Renato Lucindo @rlucindo /lucindo
  • 3. Agenda• Arquiteturas de email convencionais• Solução para email de larga escala• Histórico e Detalhes• Problemas e Soluções• Lições Aprendidas
  • 4. Arquitetura de Email Convencional HTTP Webmail IMAP/NFS POP/IMAP Mail Server & Internet Storage Maildir/Mbox SMTP/LMTP SMTP SMTP (Mail Delivery & Queue)
  • 5. Arquitetura de Email Convencional (escalando) Webmail Webmail WebmailInternet Mail Server & Storage SMTP (Mail Delivery & Queue)
  • 6. Arquitetura de Email Convencional (escalando) Webmail Webmail WebmailInternet Mail Server & Storage SMTP (Mail Delivery & Queue)
  • 7. Arquitetura de Email Convencional (escalando) Webmail Diretório Webmail WebmailInternet Mail Server & Storage SMTP (Mail Delivery & Queue)
  • 8. Arquitetura de Email Convencional (escalando) Webmail Diretório Webmail WebmailInternet Mail Server & Storage SMTP (Mail Delivery & Queue)
  • 9. Arquitetura de Email Convencional (escalando) Webmail Diretório Webmail Webmail Internet Mail Server & Storage SMTP (Mail Delivery & Queue)Ponto único de falha
  • 10. Arquitetura de Email Convencional (escalando) Webmail Diretório Webmail Webmail Internet Mail Server & Storage SMTP (Mail Delivery & Queue)Ponto único de falha
  • 11. 2004
  • 12. Requisitos do Projeto• Performance• Alta Disponibilidade• Escalabilidade• Baixo Custo
  • 13. Requisitos do Projeto Performance Cache Filas
  • 14. Requisitos do Projeto Alta Disponibilidade 
  • 15. Requisitos do Projeto Alta Disponibilidade 
  • 16. Requisitos do Projeto Alta Disponibilidade   Réplicas
  • 17. Requisitos do Projeto Alta DisponibilidadeComo manter consistência?
  • 18. Requisitos do Projeto Escalabilidade  
  • 19. Requisitos do Projeto Escalabilidade  
  • 20. Requisitos do Projeto Escalabilidade    Particionamento
  • 21. Requisitos do Projeto EscalabilidadeComo encontrar os dados?
  • 22. Requisitos do Projeto• Performance – Caches, Filas, Código• Alta Disponibilidade – Replicas: Consistência• Escalabilidade – Particionamento: Índice• Baixo Custo
  • 23. Alta Disponibilidade Escalabilidade
  • 24. Time Inicial• Desenvolvimento – 2 desenvolvedores – 2(3) administradores de sistemas• Operação dedicada – Principal fonte de requisitos
  • 25. Visão geral da Arquitetura HTTP Webmail IMAP POP/IMAP Mail Server &Internet Storage LMTP SMTP SMTP (Mail Delivery & Queue)
  • 26. Visão geral da Arquitetura HTTP Webmail Mail Index IMAP Server POP/IMAP Front-end MailInternet Protocolo Interno Server Mail Data LMTP Server SMTP SMTP (Mail Delivery & Queue)
  • 27. Ferramentas• C++• CORBA• ACE + TAO• Shell Script, Perl, Java, Python, Ruby• Erlang
  • 28. Detalhes da Arquitetura HTTP Webmail Mail Index IMAP Server POP/IMAP Front-end MailInternet Protocolo Interno Server Mail Data LMTP Server SMTP SMTP (Mail Delivery & Queue)
  • 29. Detalhes da Arquitetura HTTP Webmail Mail Index IMAP Server POP/IMAP Front-end MailInternet Protocolo Interno Server Mail Data LMTP Server SMTP SMTP (Mail Delivery & Queue)
  • 30. Detalhes da ArquiteturaFront-end Index A B Data A B
  • 31. Detalhes da ArquiteturaFront-end Index  A  B Data  A  B
  • 32. Detalhes da Arquitetura• Como se encontra qualquer dado? – Servidores com heartbeat com estado (multicast) – Índice interno volátil get index Internal Index Index Front-end Data
  • 33. Detalhes da Arquitetura A Internal B IndexFront-end A B
  • 34. Detalhes da Arquitetura A Internal B Index multicast discoveryFront-end A B
  • 35. Detalhes da Arquitetura get index A Internal B Index multicast discoveryFront-end A B
  • 36. Detalhes da Arquitetura A Internal B IndexFront-end A B
  • 37. Detalhes da Arquitetura  A Internal  B IndexFront-end A B
  • 38. Detalhes da Arquitetura  A Internal  B IndexFront-end A B
  • 39. Detalhes da Arquitetura  A Internal  B IndexFront-end A B
  • 40. Detalhes da Arquitetura  A Internal  B IndexFront-end  A  B
  • 41. Detalhes da Arquitetura  A Internal  B IndexFront-end  A  B
  • 42. Detalhes da Arquitetura  A Internal  B IndexFront-end  A  B
  • 43. Detalhes da Arquitetura  A Internal  B IndexFront-end  A  B
  • 44. O que acontece em caso de falha? (crescimento e manutenção do sistema)
  • 45. Detalhes da Arquitetura A  B
  • 46. Detalhes da ArquiteturaAB
  • 47. Detalhes da ArquiteturaAB     
  • 48. Detalhes da ArquiteturaAB     
  • 49. Detalhes da ArquiteturaA    B
  • 50. Mudanças Durante o Projeto• Início com 2 cópias de cada mensagem• Mudança para 3 cópias• Volta para 2 cópias• Mudança do Sistema de Arquivos• Mudança de todo o hardware algumas vezes
  • 51. Lições AprendidasFerramentas Administrativas (logs, contadores, monitoração)
  • 52. Lições AprendidasTestes de Resiliência Front- Back A end Back C Front- Back B end
  • 53. Lições Aprendidas Testes de Resiliência Front- Back A end Back C Front- Back B end$ kill –KILL …
  • 54. Lições Aprendidas Testes de Resiliência Front- Back A end Back C Front- Back B end$ kill –STOP …
  • 55. Lições Aprendidas• Nem sempre o problema é no seu código ou arquitetura – ReiserFS – Kernel panic com mmap –…
  • 56. Lições Aprendidas
  • 57. Muito mais• ILM• AntiSpam• Contatos• Webmail• …
  • 58. Obrigado! Dúvidas?

×