Интеграция открытых технологий и
взаимодействие со сторонними проектами
в условиях высоких нагрузок.
ВКонтакте
XMPP сервер:
- реализация протокола
- интеграция с ВКонтакте
ВКонтакте
XMPP сервер:
- реализация протокола
- интеграция с ВКонтакте
ВКонтакте
(только основной протокол)
(необходимо полностью ин...
Нужна была платформа:
- Язык высокого уровня
- Высокая скорость
- Неблокирующий I/O
- Наличие инфраструктуры
ВКонтакте
node.js
+ Язык высокого уровня
+ Высокая скорость
+ Неблокирующий I/O
+ Наличие инфраструктуры
ВКонтакте
Нагрузка
- большие контакт листы +
- высокая активность online/offline +
- автарки (base64) ++
- интеграция с ЛС ++
ВКонта...
Цифры:
60000 ~ 80000 пользователей online
пик - 150000 пользователей online
(5 серверов)
по 4 воркера node.js на каждом се...
Статистика:
ВКонтакте
Виджеты:
ВКонтакте
Проблемы:
- изоляция данных
ВКонтакте
Проблемы:
- изоляция данных
- кроссдоменное взаимодействие
- кроссбраузерность
ВКонтакте
- кроссдоменное взаимодействие
ВКонтакте
postMessage (FF >= 3, Chrome, Opera >= 9, IE >= 8)
Как быть с остальными браузера...
- flash посредник
ВКонтакте
работает везде где есть flash, но уступает по
скорости.
- hash родительского окна
ВКонтакте
медленно работает, заметен пользователю, может
конфликтовать с библиотекамми пользоват...
- hash дополнительного iframe
ВКонтакте
медленно работает, требует дополнительного
файла на домене сайта.
- nixTransport
ВКонтакте
IE <= 7
(созданная через VB функция доступна у
window.opener фрейма)
- frameElement
ВКонтакте
FF <= 2.0
(присвоенные к фрейму функции доступны из
фрейма через window.frameElement)
- easyXDM
ВКонтакте
Использует postMessage, nixTransport, frameElement
размер: 17 кб
min: 4.5 кб
- easyXDM
ВКонтакте
Использует postMessage, nixTransport, frameElement,
hashTransport, nameTransport
размер: 17 кб
min: 4....
- fastXDM
ВКонтакте
Использует postMessage, nixTransport, frameElement
размер: 6.3 кб
min: 4.5 кб
не конфликтует при перео...
Интеграция со сторонними ресурсами
- Twitter
ВКонтакте
Интеграция со сторонними ресурсами
- Twitter
запрос → очередь
очередь → запрос к Twitter
ВКонтакте
Интеграция со сторонними ресурсами
- Twitter
запрос → очередь
очередь → запрос к Twitter → очередь
pulling → очередь
ВКонт...
Интеграция со сторонними ресурсами
- Share
ВКонтакте
Интеграция со сторонними ресурсами
- Share
запрос → адрес спец. Сервера
запрос к спец. Серверу → результат
сохранение резу...
Интеграция со сторонними ресурсами
- Share
openGraph
ВКонтакте
Интеграция со сторонними ресурсами
ВКонтакте
Open Graph
ВКонтакте
Вопросы?
Upcoming SlideShare
Loading in …5
×

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

918 views

Published on

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
918
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

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

×