14
Особенности построения собственной полнофункциональной IM- сети Ермаков Игорь

особенности построения собственной полнофункциональной Im сети

  • Upload
    ontico

  • View
    1.732

  • Download
    3

Tags:

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: особенности построения собственной полнофункциональной Im сети

Особенности построения собственной

полнофункциональной IM-сети

Ермаков Игорь

Page 2: особенности построения собственной полнофункциональной Im сети

Зачем нужен собственный IM?

• Уникальный функционал, востребованный на рынке• Удобный доступ к сервисам портала• Привязка к собственному сервису• Дополнительные возможности обратной связи

Page 3: особенности построения собственной полнофункциональной Im сети

Уникальный функционал

• Обмен сообщениями• Контакт-лист• Статусы друзей• Поиск пользователей• Передача файлов• Голосовые звонки• Видео звонки

Page 4: особенности построения собственной полнофункциональной Im сети

Варианты

• XMPP - открытость, универсальность, следование стандартам, готовые парсеры.

• Собственный протокол – гибкость, скорость

• У обоих – отсутствие полноценного масштабируемого решения.

Page 5: особенности построения собственной полнофункциональной Im сети

Протокол MRAP

• Простой бинарный протокол

Высокая скорость парсинга, Простота обработки,Низкая вероятность ошибок

TypeDlenMagic

Данные44 bytes

Page 6: особенности построения собственной полнофункциональной Im сети

Серверная архитектура

• Монолитный многопоточный автомат• Одноранговые сервера, соединенные друг с другом• Авторизация через базу данных• Постоянное соединение с клиентом• Хранение сообщений в почтовом ящике

Page 7: особенности построения собственной полнофункциональной Im сети

Возможности• Авторизация• Статусы (Presence)• Сообщения• Почтовые уведомления• Поиск Друзей• SMS • VOIP.GIPS• Передача файлов

• ICQ • Игры• Аватары• Скины• Продвинутый статус• Ignore и Invisible• Интеграция с вебом• Поиск друзей

Page 8: особенности построения собственной полнофункциональной Im сети

Mail.Ru Agent

Users DBMySQL

Soft Load Balancer

Перенаправление

Авторизация

Mail.Ru Storage

•Контакты,•Emails,•Настройки

MRIM server

MRIM server

MRIM server

MRIM server

Кластер серверовКластер серверов

Page 9: особенности построения собственной полнофункциональной Im сети

Mail.Ru Agent типы серверов

• Софтверный балансировщик

• Передача Видео. Flash Media Server

• Авторизаци. Mysql• Поиск. Поисковые сервера

gogo• SMS

Сервера в кластереСервера в кластере

• Сервер обмена сообщениями• Сервер WEB-агента• Сервер веб-статусов• File proxy• Voice proxyВсе сервера имеют постоянное

соединение. Хранят контакт листы, знание о

всех онлайн пользователях в кластере, обратные контакт-листы.

Вспомогательные сервераВспомогательные сервера

Page 10: особенности построения собственной полнофункциональной Im сети

Поиск пользователей• Онлайн-статус• Регион (Страна/Город)• Пол• Возраст• День рождения• Анкета (Имя, Фамилия, Ник)• Email• Знак зодиака

Page 11: особенности построения собственной полнофункциональной Im сети

Поиск. Вариант с БД• Таблица с большим количеством полей• Индексы на каждое поле• Композитные индексы• Дублирующие таблицы в памяти• Дублирующие разгружающие реплики• Большое количество изменений• Огромное количество выборок

Page 12: особенности построения собственной полнофункциональной Im сети

Поиск. Наш вариант

MRIM serverMRIM server

Кластер серверовКластер серверов

Анкетные данные

MySQLАнкетные данные

•Users ID

•Найденные анкеты

Статистика поискаСтатистика поиска

• 25 М Доступных записей• 12 М Поисковых запросов• 3 М Запросов онлайн

Page 13: особенности построения собственной полнофункциональной Im сети

Mail.Ru Agent. Статистика.Число активных пользователей (М)Число активных пользователей (М)

Число сообщений в сутки (М)Число сообщений в сутки (М)

Более 1 миллиона подключенийБолее 1 миллиона подключений

Page 14: особенности построения собственной полнофункциональной Im сети

Спасибо за внимание.

Ермаков Игорь

[email protected]

Ваши вопросы?