Highload++ 2017 завершён!

Профессиональная конференция разработчиков высоконагруженных систем

СКОЛКОВО, Москва 7 и 8 ноября

11-я ежегодная конференция для разработчиков highload-систем, которая соберет   2 700 участников из разных регионов России и мира. Мероприятие направлено на обмен знаниями о технологиях, позволяющих одновременно обслуживать многие тысячи и миллионы пользователей.

Программа охватывает такие аспекты веб-разработок, как архитектуры крупных проектов, базы данных и системы хранения, системное администрирование, нагрузочное тестирование, эксплуатация крупных проектов и другие направления, связанные с высоконагруженными системами.

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

Доклад принят в Программу конференции

Тезисы

Почта – это больше, чем обычное web-приложение. Много данных, много протоколов, много событий в единицу времени. С проблемой масштабирования сталкиваешься, даже создавая почтовую систему масштаба предприятия. В публичной почте всё должно хорошо масштабироваться и работать (или хотя бы пытаться) вне зависимости от аппаратных проблем.

Из чего состоит почта Рамблера? Подсистемы – минимальная информация о пользователях (directory), данные (storage), доступ по http, клиентский smtp/pop3, входящий smtp. Дополнительные подсистемы – фильтрация спама, фильтрация вирусов. Слабая связанность подсистем как средство упрощения разработки.

Подробнее о…

  • Directory. Хранит минимальные знания о пользователе (сервер, на котором живет пользователь + ещё немного), MySQL + master-slave репликация.
  • Storage – хранение данных. Внутренние сервера с IMAP/POP3/SMTP доступом.
  • Доступ по HTTP. Фронтенды на nginx. CGI – apache+mod_perl, доступ к содержимому почтового ящика по IMAP'у, доступ к directory – по необходимости (на чтение к репликам, если нужна запись – на master'а). Хранение временных данных и кеширование в memcached.
  • Клиентский SMTP/POP3 – nginx, авторизация через cgi cluster, прямое проксирование авторизованных POP3 соединений на нужный пользователю storage backend, проксирование авторизованных SMTP соединений на реальный SMTP-сервер.
    • Лирическое отступление: зачем нужен nginx для SMTP.
  • Входящий SMTP. Ходят к репликам directory и подсистемам фильтрации, при наличии соединения со storage backend'ами отдают им почту. Могут легко разбиваться на географически раздельные блоки, связность не критична.

Подводя итоги: проблемы решённые и проблемы остающиеся. Масштабируется и резервируется практически всё.

Другие доклады секции
Основная секция

Rambler's Top100