Интеграция открытых технологий и взаимодействие со сторонними проектами в условиях высоких нагрузок. ВКонтакте
XMPP сервер: - реализация протокола - интеграция с ВКонтакте ВКонтакте
XMPP сервер: - реализация протокола - интеграция с ВКонтакте ВКонтакте (только основной протокол) (необходимо полностью интегрировать контакт лист, систему сообщений и предусмотреть кеширование)
Нужна была платформа: - Язык высокого уровня - Высокая скорость - Неблокирующий I/O - Наличие инфраструктуры ВКонтакте
node.js + Язык высокого уровня + Высокая скорость + Неблокирующий I/O + Наличие инфраструктуры ВКонтакте
Нагрузка - большие контакт листы + - высокая активность online/offline + - автарки (base64) ++ - интеграция с ЛС ++ ВКонтакте
Цифры: ~ пользователей online пик пользователей online (5 серверов) по 4 воркера node.js на каждом сервере 3 БД (mysql) ВКонтакте
Статистика: ВКонтакте
Виджеты: ВКонтакте
Проблемы: - изоляция данных ВКонтакте
Проблемы: - изоляция данных - кроссдоменное взаимодействие - кроссбраузерность ВКонтакте
- кроссдоменное взаимодействие ВКонтакте postMessage (FF >= 3, Chrome, Opera >= 9, IE >= 8) Как быть с остальными браузерами?
- flash посредник ВКонтакте работает везде где есть flash, но уступает по скорости.
- hash родительского окна ВКонтакте медленно работает, заметен пользователю, может конфликтовать с библиотекамми пользователя, использующими hash
- hash дополнительного iframe ВКонтакте медленно работает, требует дополнительного файла на домене сайта.
- nixTransport ВКонтакте IE
- frameElement ВКонтакте FF
- easyXDM ВКонтакте Использует postMessage, nixTransport, frameElement размер: 17 кб min: 4.5 кб
- easyXDM ВКонтакте Использует postMessage, nixTransport, frameElement, hashTransport, nameTransport размер: 17 кб min: 4.5 кб Не совместим с некоторыми сайтами, переопределяющими JSON, encodeURIComponent. Использует onDocumentLoad
- fastXDM ВКонтакте Использует postMessage, nixTransport, frameElement размер: 6.3 кб min: 4.5 кб не конфликтует при переопределённом JSON, не использует onDocumentLoad
Интеграция со сторонними ресурсами - Twitter ВКонтакте
Интеграция со сторонними ресурсами - Twitter запрос очередь очередь запрос к Twitter ВКонтакте
Интеграция со сторонними ресурсами - Twitter запрос очередь очередь запрос к Twitter очередь pulling очередь ВКонтакте
Интеграция со сторонними ресурсами - Share ВКонтакте
Интеграция со сторонними ресурсами - Share запрос адрес спец. Сервера запрос к спец. Серверу результат сохранение результата на сервере ВКонтакте
Интеграция со сторонними ресурсами - Share openGraph ВКонтакте
Интеграция со сторонними ресурсами ВКонтакте Open Graph
ВКонтакте Вопросы?