Архитектура новой почты Рамблера Андрей Шетухин
Rambler Mail  сегодня <ul><li>240 тысяч новых регистраций в день </li></ul><ul><li>66  миллионов пользователей </li></ul><...
Rambler Mail  сегодня <ul><li>Мобильная и  Wap  версии </li></ul><ul><li>Автосборщик почты </li></ul><ul><li>Неограниченно...
Программное обеспечение <ul><li>FreeBSD 6, 7 </li></ul><ul><li>MySQL 4.1 </li></ul><ul><li>nginx 0.7.X + patches </li></ul...
MySQL <ul><li>Master-slave  репликация </li></ul><ul><li>“ Дерево ”   slave  серверов  </li></ul><ul><li>Разнесение данных...
“ Дерево ”   slave  серверов
Партиционирование MD5(“hello@rambler.ru”) = 9 f1…..   f   e2
Apache + mod_perl <ul><li>OO Perl –  хорошо или плохо ? </li></ul><ul><li>ORM –  зло, которое следует избегать </li></ul><...
OO Perl <ul><li>Увеличение скорости разработки </li></ul><ul><li>Сепарация сущностей </li></ul><ul><li>Более прозрачный ко...
ORM <ul><li>Полный цикл разработки с  ORM  – дороже </li></ul><ul><li>Простые вещи с  ORM  делаются просто, сложные  –  не...
SQL Proxy <ul><li>Много входящих подключений, мало исходящих </li></ul><ul><li>Универсальный интерфейс -  JSON </li></ul><...
Кэширование <ul><li>Memcached </li></ul><ul><li>Драйвер  ->  Кэш  ->  Интерфейс </li></ul><ul><li>Кэшировать объекты или н...
Драйвер  -  Кэш  -  Интерфейс
Шаблонизатор <ul><li>CTPP 2.5.X </li></ul><ul><li>Встроенные функции на все случаи жизни </li></ul><ul><li>Самый быстрый ш...
Тесты http://ctpp.havoc.ru/template_benchmarks.html
Postfix + Dovecot <ul><li>MX = Mail eXchanger </li></ul><ul><li>Milter API <-> ClamAv + RspamD </li></ul><ul><li>Patches, ...
Вопросы ?
Upcoming SlideShare
Loading in …5
×

архитектура новой почты рамблера

2,623 views

Published on

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

No Downloads
Views
Total views
2,623
On SlideShare
0
From Embeds
0
Number of Embeds
1,633
Actions
Shares
0
Downloads
45
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

архитектура новой почты рамблера

  1. 1. Архитектура новой почты Рамблера Андрей Шетухин
  2. 2. Rambler Mail сегодня <ul><li>240 тысяч новых регистраций в день </li></ul><ul><li>66 миллионов пользователей </li></ul><ul><li>20 миллионов “ живых ” ящиков </li></ul><ul><li>192 миллиона контактов в адресной книге </li></ul><ul><li>16 миллионов писем в день </li></ul>
  3. 3. Rambler Mail сегодня <ul><li>Мобильная и Wap версии </li></ul><ul><li>Автосборщик почты </li></ul><ul><li>Неограниченное количество почтовых доменов </li></ul><ul><li>16 видов оформления на любой вкус </li></ul><ul><li>Умная адресная книга </li></ul><ul><li>Иконки сервисов </li></ul>
  4. 4. Программное обеспечение <ul><li>FreeBSD 6, 7 </li></ul><ul><li>MySQL 4.1 </li></ul><ul><li>nginx 0.7.X + patches </li></ul><ul><li>Apache 1.3 + mod_perl + PerlXS + C++ </li></ul><ul><li>memcached </li></ul><ul><li>Postfix + Dovecot + patches </li></ul><ul><li>Rspamd + Clamav </li></ul>
  5. 5. MySQL <ul><li>Master-slave репликация </li></ul><ul><li>“ Дерево ” slave серверов </li></ul><ul><li>Разнесение данных по серверам и таблицам </li></ul><ul><li>Денормализация данных </li></ul><ul><li>Только необходимые индексы в таблице </li></ul>
  6. 6. “ Дерево ” slave серверов
  7. 7. Партиционирование MD5(“hello@rambler.ru”) = 9 f1….. f e2
  8. 8. Apache + mod_perl <ul><li>OO Perl – хорошо или плохо ? </li></ul><ul><li>ORM – зло, которое следует избегать </li></ul><ul><li>SQL Proxy – решение проблем с нагрузкой БД </li></ul><ul><li>Прозрачное кэширование данных </li></ul><ul><li>Быстрый шаблонизатор – CTPP </li></ul><ul><li>Почему не FastCGI? </li></ul>
  9. 9. OO Perl <ul><li>Увеличение скорости разработки </li></ul><ul><li>Сепарация сущностей </li></ul><ul><li>Более прозрачный код в большом проекте </li></ul><ul><li>Медленнее скорость работы </li></ul><ul><li>Выше требования к памяти </li></ul><ul><li>Нужны квалифицированные разработчики </li></ul>
  10. 10. ORM <ul><li>Полный цикл разработки с ORM – дороже </li></ul><ul><li>Простые вещи с ORM делаются просто, сложные – не делаются вовсе </li></ul><ul><li>Много памяти, много кода, много черной магии </li></ul><ul><li>Сложность оптимизации запросов и вообще любой отладки </li></ul><ul><li>ORM – это дорогой вариант sprintf </li></ul>
  11. 11. SQL Proxy <ul><li>Много входящих подключений, мало исходящих </li></ul><ul><li>Универсальный интерфейс - JSON </li></ul><ul><li>Простота использования </li></ul><ul><li>Поддержка Oracle, PostgreSQL, MySQL </li></ul>
  12. 12. Кэширование <ul><li>Memcached </li></ul><ul><li>Драйвер -> Кэш -> Интерфейс </li></ul><ul><li>Кэшировать объекты или нет ? </li></ul>
  13. 13. Драйвер - Кэш - Интерфейс
  14. 14. Шаблонизатор <ul><li>CTPP 2.5.X </li></ul><ul><li>Встроенные функции на все случаи жизни </li></ul><ul><li>Самый быстрый шаблонизатор для Perl </li></ul><ul><li>Интерфейсы для С, С++, PHP, Perl и Python </li></ul><ul><li>Простота верстки </li></ul><ul><li>Моментальная выкатка шаблонов </li></ul>
  15. 15. Тесты http://ctpp.havoc.ru/template_benchmarks.html
  16. 16. Postfix + Dovecot <ul><li>MX = Mail eXchanger </li></ul><ul><li>Milter API <-> ClamAv + RspamD </li></ul><ul><li>Patches, patches, patches … </li></ul><ul><li>Dovecot </li></ul><ul><li>Хранение писем : Mailbox </li></ul>
  17. 17. Вопросы ?

×