web app syncronizations, sockets, tricks and hacks
TRANSCRIPT
by Egor Malkevich
2016
18+
Докатился до того, что пишу код. Как? Не помню.…
Проблема!?
Наши ожидания
Реальность
По порядку
Зачем вообще нам синхронизация?
С чего все началось?
Называется это signaling
… PubSubHubbub, RSSCloud, Comet, XMPP, MQTT, Adobe LiveCycle, Google
Wave Protocol, WebHooks, WebSockets …
HTTP Streaming
Гипотеза…
Осторожно спойлер
COMET …
Long pooling
WebSockets
Web Sockets
В общем и целом есть
https://github.com/sockjsи
Проблемы с доступом к JoyCasino.com?
Ведите 7, что бы получилось joycasion7.com
Client.js
И вуаля
Запилили
Users want "delightful realtime web apps".
Developers want "delightfully easy to build realtime web apps".
Operations want "delightfully easy to deploy, scale and manage realtime web apps".
Одновременный коннект
WebSockets and HTTP/2 transport are not unified
Так много WebSockets
255 connections 200 connections
1 Dmitry
Proxy servers
`WebSocket connection to 'ws://xxx:nn' failed: Connection closed before receiving a handshake response`
Используете Node.js?
Load balancing WebSockets is complicated
WebSockets give you the illusion of reliability
Why so hard?
Попытки решить проблему в лоб
И
По итогу
Альтернативы
Не использовать свой socket сервер.
платный https://www.pubnub.com/
Не использовать socket сервер вообще
https://goroost.com/
https://sendpulse.com/ru/webpush
https://onesignal.com/
Самое интересное
К примеру можно помочь socket.io
You may be happy with a 30 second delays and be fine with polling.
Можно делать поведенческие запросы
А вообще
Не нравится?
Special for Geeks
В общем случаеСледуйте примеру
И не используйте WebSockets
WebSockets отличный маркетинговый
продукт
как и
Всем спасибоДоклад основан на реальных событиях
https://samsaffron.com/archive/2015/12/29/websockets-caution-requiredВ докладе принимали участие:
http://stackoverflow.com/questions/7022383/how-can-i-make-a-browser-to-browser-peer-to-peer-connection/7933140#7933140
http://knoxxs.github.io/chat/architecture/real-time/2015/11/23/chat-architecture-everywhere/
И многие другие…