Your SlideShare is downloading. ×
Интеграция открытых технологий и взаимодействие со сторонними проектами в условвиях высоких нагрузок, Олег Илларионов
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Интеграция открытых технологий и взаимодействие со сторонними проектами в условвиях высоких нагрузок, Олег Илларионов

650
views

Published on

Published in: Technology, News & Politics

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
650
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Интеграция открытых технологий и взаимодействие со сторонними проектами в условиях высоких нагрузок. ВКонтакте
  • 2. XMPP сервер: - реализация протокола - интеграция с ВКонтакте ВКонтакте
  • 3. XMPP сервер: - реализация протокола - интеграция с ВКонтакте ВКонтакте (только основной протокол) (необходимо полностью интегрировать контакт лист, систему сообщений и предусмотреть кеширование)
  • 4. Нужна была платформа: - Язык высокого уровня - Высокая скорость - Неблокирующий I/O - Наличие инфраструктуры ВКонтакте
  • 5. node.js + Язык высокого уровня + Высокая скорость + Неблокирующий I/O + Наличие инфраструктуры ВКонтакте
  • 6. Нагрузка - большие контакт листы + - высокая активность online/offline + - автарки (base64) ++ - интеграция с ЛС ++ ВКонтакте
  • 7. Цифры: 60000 ~ 80000 пользователей online пик - 150000 пользователей online (5 серверов) по 4 воркера node.js на каждом сервере 3 БД (mysql) ВКонтакте
  • 8. Статистика: ВКонтакте
  • 9. Виджеты: ВКонтакте
  • 10. Проблемы: - изоляция данных ВКонтакте
  • 11. Проблемы: - изоляция данных - кроссдоменное взаимодействие - кроссбраузерность ВКонтакте
  • 12. - кроссдоменное взаимодействие ВКонтакте postMessage (FF >= 3, Chrome, Opera >= 9, IE >= 8) Как быть с остальными браузерами?
  • 13. - flash посредник ВКонтакте работает везде где есть flash, но уступает по скорости.
  • 14. - hash родительского окна ВКонтакте медленно работает, заметен пользователю, может конфликтовать с библиотекамми пользователя, использующими hash
  • 15. - hash дополнительного iframe ВКонтакте медленно работает, требует дополнительного файла на домене сайта.
  • 16. - nixTransport ВКонтакте IE <= 7 (созданная через VB функция доступна у window.opener фрейма)
  • 17. - frameElement ВКонтакте FF <= 2.0 (присвоенные к фрейму функции доступны из фрейма через window.frameElement)
  • 18. - easyXDM ВКонтакте Использует postMessage, nixTransport, frameElement размер: 17 кб min: 4.5 кб
  • 19. - easyXDM ВКонтакте Использует postMessage, nixTransport, frameElement, hashTransport, nameTransport размер: 17 кб min: 4.5 кб Не совместим с некоторыми сайтами, переопределяющими JSON, encodeURIComponent. Использует onDocumentLoad
  • 20. - fastXDM ВКонтакте Использует postMessage, nixTransport, frameElement размер: 6.3 кб min: 4.5 кб не конфликтует при переопределённом JSON, не использует onDocumentLoad
  • 21. Интеграция со сторонними ресурсами - Twitter ВКонтакте
  • 22. Интеграция со сторонними ресурсами - Twitter запрос → очередь очередь → запрос к Twitter ВКонтакте
  • 23. Интеграция со сторонними ресурсами - Twitter запрос → очередь очередь → запрос к Twitter → очередь pulling → очередь ВКонтакте
  • 24. Интеграция со сторонними ресурсами - Share ВКонтакте
  • 25. Интеграция со сторонними ресурсами - Share запрос → адрес спец. Сервера запрос к спец. Серверу → результат сохранение результата на сервере ВКонтакте
  • 26. Интеграция со сторонними ресурсами - Share openGraph ВКонтакте
  • 27. Интеграция со сторонними ресурсами ВКонтакте Open Graph
  • 28. ВКонтакте Вопросы?