1 / 17

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

Архитектура новой почты Рамблера. Андрей Шетухин. Rambler Mail сегодня. 240 тысяч новых регистраций в день 66 миллионов пользователей 20 миллионов “ живых ” ящиков 192 миллиона контактов в адресной книге 16 миллионов писем в день. Rambler Mail сегодня. Мобильная и Wap версии

gella
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Архитектура новойпочты Рамблера Андрей Шетухин

  2. Rambler Mail сегодня • 240 тысяч новых регистраций в день • 66 миллионов пользователей • 20 миллионов “живых” ящиков • 192 миллиона контактов в адресной книге • 16 миллионов писем в день

  3. Rambler Mail сегодня • Мобильная и Wap версии • Автосборщик почты • Неограниченное количество почтовых доменов • 16 видов оформления на любой вкус • Умная адресная книга • Иконки сервисов

  4. Программное обеспечение • FreeBSD 6, 7 • MySQL 4.1 • nginx 0.7.X + patches • Apache 1.3 + mod_perl + PerlXS + C++ • memcached • Postfix + Dovecot + patches • Rspamd + Clamav

  5. MySQL • Master-slave репликация • “Дерево”slave серверов • Разнесение данных по серверам и таблицам • Денормализация данных • Только необходимые индексы в таблице

  6. “Дерево”slave серверов

  7. Партиционирование MD5(“hello@rambler.ru”) = 9f1….. fe2

  8. Apache + mod_perl • OO Perl – хорошо или плохо? • ORM – зло, которое следует избегать • SQL Proxy – решение проблем с нагрузкойБД • Прозрачное кэширование данных • Быстрый шаблонизатор – CTPP • Почему не FastCGI?

  9. OO Perl • Увеличение скорости разработки • Сепарация сущностей • Более прозрачный код в большом проекте • Медленнее скоростьработы • Выше требования к памяти • Нужны квалифицированные разработчики

  10. ORM • Полный цикл разработки с ORM – дороже • Простые вещи с ORM делаются просто, сложные – не делаются вовсе • Много памяти, много кода, много черной магии • Сложность оптимизации запросов и вообще любой отладки • ORM – это дорогой вариант sprintf

  11. SQL Proxy • Много входящих подключений, мало исходящих • Универсальный интерфейс - JSON • Простота использования • Поддержка Oracle, PostgreSQL, MySQL

  12. Кэширование • Memcached • Драйвер -> Кэш -> Интерфейс • Кэшировать объекты или нет?

  13. Драйвер - Кэш - Интерфейс

  14. Шаблонизатор • CTPP 2.5.X • Встроенные функции на все случаи жизни • Самый быстрый шаблонизатор для Perl • Интерфейсы для С, С++, PHP, Perl и Python • Простота верстки • Моментальная выкатка шаблонов

  15. Тесты http://ctpp.havoc.ru/template_benchmarks.html

  16. Postfix + Dovecot • MX = Mail eXchanger • Milter API <-> ClamAv + RspamD • Patches, patches, patches… • Dovecot • Хранение писем: Mailbox

  17. Вопросы?

More Related