Uma abordagem pragmática sobre LDAP e Memcached

871
-1

Published on

Apresentação para explicar usos e os conceitos sobre LDAP e Memcached.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
871
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Uma abordagem pragmática sobre LDAP e Memcached

    1. 1. Mobimail: Uma abordagem pragmática sobre LDAP e Memcached Otávio Fernandes Arquitetura de Email <otavio.fernandes@locaweb.com.br>
    2. 2. Mobimail
    3. 3. Nosso objetivo é ter consultas constantes sobre as informações de 2 milhões de usuários (e crescendo rápido).
    4. 4. Afinal, Porque não um SQL-like? Porque é relacional; Porque tem dificuldades ao escalar; Vide o modelo de binlog (MySQL);
    5. 5. Exemplo do MySQL Binlog BINLOG ' fAS3SBMBAAAALAAAAC4BAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBgBAAAANgAAAGQBAAAQABEAAAAAAAEAA//// AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP '/*!*/; ### UPDATE test.t ### WHERE ### @1=1 ### @2='apple' ### @3=NULL ### SET ### @1=1 ### @2='pear' ### @3='2009:01:01' ... # at 400 #080828 15:03:08 server id 1 end_log_pos 442 Delete_rows: table id 17 flags: STMT_END_F BINLOG ' fAS3SBMBAAAALAAAAJABAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAEAA//4AQAAAARwZWFyIbIP '/*!*/; ### DELETE FROM test.t ### WHERE ### @1=1 ### @2='pear' ### @3='2009:01:01'
    6. 6. A partir de um pequeno exemplo, podemos ter idéia do comportamento em grande escala. Este é um dos motivos porque um DB relacional tem dificuldades em escalar.
    7. 7. Ter dificuldades não significa que não é possível. O Mobimail exige uma solução mais simples e adequada.
    8. 8. Porque LDAP? Estruturado em forma de árvore; Fácil para replicar, master-master; Compatibilidade com produtos de terceiros ( IronPort, CommuniGate, PowerMTA, etc. ); É a solução adequada para “email”;
    9. 9. Arquitetura Somente o Painel de Controle escreve na árvore LDAP; Réplicas serão feitas sob demanda (SysAdmins);
    10. 10. locaweb.schema # $ mobimail.schema # # 1.3.6.1.4.1.34377 - Locaweb PEN # 1.3.6.1.4.1.34377.2.2.1 Produto Mobimail # 1.3.6.1.4.1.34377.2.2.1.x Mobimail ObjectClasses # 1.3.6.1.4.1.34377.2.3.1.x Mobimail Attributes # # @copyright 2009 Locaweb Ltda # @author FT-Email <email-tec@locaweb.com.br>
    11. 11. Performance do LDAP
    12. 12. Impasse entre uma árvore mais horizontal, ou, mais vertical (profunda).
    13. 13. Árvores muito rasas (horizontais) vão sofre na escrita, pois, o OpenLDAP atribui um “lock” no nó-pai durante este processo.
    14. 14. Árvores profundas (verticais) tem problemas com a escrita. Porque dificulta o processo de indexação, ao guardar muitas referências.
    15. 15. A solução para o Mobimail foi MD5.
    16. 16. Utilização de MD5 MD5 ("locaweb.com.br") = b79f6b6701b3163b8ce6b08ce48db468 cn=locaweb.com.br,cn=b,cn=79,o=Mail,o u=Locaweb;
    17. 17. Com a utilização do MD5, conseguimos ter uma árvore balanceada (horizontal vs vertical).
    18. 18. Memcached Não existe servidor centralizado; Cada máquina é potencialmente um servidor de Memcached (consultas e respostas, somente local); Novos servidores tem a quantidade de memória RAM dimensionada para esta tarefa;
    19. 19. Olhando para os fontes Abstração entre as duas camadas; Uma única chamada consulta automaticamente o Memcached e o LDAP; De forma transparente, é feita a inclusão de um registro do LDAP para o Memcached (sempre local);
    20. 20. Um filtro hoje:
    21. 21. Futuro: Malware Filter Não tem Postfix (sem filas de e- mails); Acesso direto ao Amavisd-New; Recursos dedicados a esta tarefa;
    22. 22. A resposta a mudança é que haverá muito mais consultas ao Memcached/LDAP. Necessidade de escalar horizontalmente.
    23. 23. Obrigado :-)

    ×