'

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

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

XMPP сервер: - реализация протокола - интеграция с ВКонтакте ВКонтакте


Слайд 2

XMPP сервер: - реализация протокола - интеграция с ВКонтакте ВКонтакте (только основной протокол) (необходимо полностью интегрировать контакт лист, систему сообщений и  предусмотреть кеширование)


Слайд 3

Нужна была платформа: - Язык высокого уровня - Высокая скорость - Неблокирующий I/O - Наличие инфраструктуры ВКонтакте


Слайд 4

node.js + Язык высокого уровня + Высокая скорость + Неблокирующий I/O + Наличие инфраструктуры ВКонтакте


Слайд 5

Нагрузка - большие контакт листы + - высокая активность online/offline + - автарки (base64) ++ - интеграция с ЛС ++ ВКонтакте


Слайд 6

Цифры: 60000 ~ 80000 пользователей online пик - 150000 пользователей online (5 серверов) по 4 воркера node.js на каждом сервере 3 БД (mysql) ВКонтакте


Слайд 7

Статистика: ВКонтакте


Слайд 8

Виджеты: ВКонтакте


Слайд 9

Проблемы: - изоляция данных ВКонтакте


Слайд 10

Проблемы: - изоляция данных    - кроссдоменное взаимодействие    - кроссбраузерность ВКонтакте


Слайд 11

- кроссдоменное взаимодействие ВКонтакте postMessage (FF >= 3, Chrome, Opera >= 9, IE >= 8) Как быть с остальными браузерами?


Слайд 12

- flash посредник ВКонтакте работает везде где есть flash, но уступает по скорости.


Слайд 13

- hash родительского окна ВКонтакте медленно работает, заметен пользователю, может конфликтовать с библиотекамми пользователя, использующими hash


Слайд 14

- hash дополнительного iframe ВКонтакте медленно работает, требует дополнительного файла на домене сайта.


Слайд 15

- nixTransport ВКонтакте IE <= 7 (созданная через VB функция доступна у window.opener фрейма)


Слайд 16

- frameElement ВКонтакте FF <= 2.0 (присвоенные к фрейму функции доступны из  фрейма через window.frameElement)


Слайд 17

- easyXDM ВКонтакте Использует postMessage, nixTransport, frameElement размер: 17 кб min: 4.5 кб


Слайд 18

- easyXDM ВКонтакте Использует postMessage, nixTransport, frameElement, hashTransport, nameTransport размер: 17 кб min: 4.5 кб Не совместим с некоторыми сайтами, переопределяющими JSON, encodeURIComponent. Использует onDocumentLoad


Слайд 19

- fastXDM ВКонтакте Использует postMessage, nixTransport, frameElement размер: 6.3 кб min: 4.5 кб не конфликтует при переопределённом JSON, не использует onDocumentLoad


Слайд 20

Интеграция со сторонними ресурсами - Twitter ВКонтакте


Слайд 21

Интеграция со сторонними ресурсами - Twitter запрос > очередь очередь > запрос к Twitter ВКонтакте


Слайд 22

Интеграция со сторонними ресурсами - Twitter запрос > очередь очередь > запрос к Twitter > очередь pulling > очередь ВКонтакте


Слайд 23

Интеграция со сторонними ресурсами - Share ВКонтакте


Слайд 24

Интеграция со сторонними ресурсами - Share запрос > адрес спец. Сервера запрос к спец. Серверу > результат сохранение результата на сервере ВКонтакте


Слайд 25

Интеграция со сторонними ресурсами - Share openGraph ВКонтакте


Слайд 26

Интеграция со сторонними ресурсами ВКонтакте Open Graph


Слайд 27

ВКонтакте Вопросы?


×

HTML:





Ссылка: