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