Комментарии 14
Как уже достали «chat app» статьи… такое ощущение, что все вокруг просто таки мечтают написать свой чат. Да и вообще только этим и занимаются. ))))
>… разработчики могут не тратить время на реализацию серверной логики, а сконцентрироваться на других частях приложения.
Ну чтож, круто! Теперь ждем что-то вроде: «Мы реализовали все части вашего софта, теперь разработчики могут не тратиться время на реализацию серверной логики. Да и клиентской логики. Да и вообще не тратиться время, а сконцентрироваться на печеньках с чаем» )))))
Удачи! Извините, если оффтоп.
>… разработчики могут не тратить время на реализацию серверной логики, а сконцентрироваться на других частях приложения.
Ну чтож, круто! Теперь ждем что-то вроде: «Мы реализовали все части вашего софта, теперь разработчики могут не тратиться время на реализацию серверной логики. Да и клиентской логики. Да и вообще не тратиться время, а сконцентрироваться на печеньках с чаем» )))))
Удачи! Извините, если оффтоп.
0
Спасибо за комментарий. Целью статьи было не создание чата, а возможность рассказать немного о внутреннем устройстве websocket'ов в сервисе Scorocode, а так же показать пример, как эту технологию можно использовать в рамках нашего сервиса.
По поводу «не тратиться», мы уже думаем над кодогенерацией :)
По поводу «не тратиться», мы уже думаем над кодогенерацией :)
0
Я что-то не понял, а где логика получения сообщения сервером, резолва пользователей кому будет отправлен ответ и прочее-прочее?
0
Магия в том, что нет никакой серверной логики. Т.е. Вы подключаете SDK, указываете канал на который нужно подписаться, и он работает в режиме broadcast. В приведенном примере чата всего один общий канал. Но никто не мешает использовать разные каналы для создания тех же комнат.
Платформа Scorocode хранит данные о подписчиках на каналы и при поступлении данных рассылает их. Вы можете использовать эти возможности например для синхронизации корзины на разных вкладках, используя в качестве названия канала id пользователя, где каждый клиент будет подписываться на свой канал, либо для отправки каких-либо обновлений определенному пользователю.
Платформа Scorocode хранит данные о подписчиках на каналы и при поступлении данных рассылает их. Вы можете использовать эти возможности например для синхронизации корзины на разных вкладках, используя в качестве названия канала id пользователя, где каждый клиент будет подписываться на свой канал, либо для отправки каких-либо обновлений определенному пользователю.
0
Т.е. получается вы продаёте за цену в 3к рублей, примерно 20 строчек кода (на любом языке, например на php http://socketo.me/docs/hello-world#logic). Ну и сервер сам, цены на хостинги можно нагуглить, в принципе.
Я верно понял смысл?
0
В целом, думаю вы поняли правильно))) 20 строчек на PHP, 10 строчек на NodeJS и 0 строчек на Hoziron или любой другой self-hosted backend platform.)))
0
Функционал, который сейчас предоставляет платформа, намного шире одних вебсокетов.
Дополнительно к функционалу реализована отказоустойчивость, репликация, балансировка нагрузки. Для каждого приложения выделяется кластер БД, API.
Согласно нашей тарифной политике, пользователю доступно бесплатно:
Давайте проведем небольшой расчет. Для реализации простого приложения, которому достаточно вышеуказанных лимитов, потребуется БД, app server, балансировщик. Расчет будем вести с учетом не самых мощных машин. Для небольшого отказоустойчивого проекта нам потребуется:
Берем стоимость ресурсов с сайта известного российского облачного хостера:
4 ядра, 16 Гб Озу — 5 980р
8 ядер, 8 Гб Озу — 3 900р
(3900 * 2) + (5980 * 2) = 19760
Итого стоимость: 19760 руб. в месяц
В стоимость не включены расходы на канал, дисковое пространство, а также стоимость услуг администратора.
Дополнительно к функционалу реализована отказоустойчивость, репликация, балансировка нагрузки. Для каждого приложения выделяется кластер БД, API.
Согласно нашей тарифной политике, пользователю доступно бесплатно:
- 20 запрсов к API в секунду
- 10Гб для хранения файлов
- 200 одновременных подключений к websockets
- 3 секунды на исполнение серверного кода
Давайте проведем небольшой расчет. Для реализации простого приложения, которому достаточно вышеуказанных лимитов, потребуется БД, app server, балансировщик. Расчет будем вести с учетом не самых мощных машин. Для небольшого отказоустойчивого проекта нам потребуется:
- БД реплика (арбитер поставим на машинку с application server) — 2 машины по 4 ядра, 16 Гб Озу
- Балансировщик — 2 машины (на случай отказа) по 8 ядер, 8 Гб Озу
- App server — (в целях экономии поставим на те же машинки, что и балансировщики)
Берем стоимость ресурсов с сайта известного российского облачного хостера:
4 ядра, 16 Гб Озу — 5 980р
8 ядер, 8 Гб Озу — 3 900р
(3900 * 2) + (5980 * 2) = 19760
Итого стоимость: 19760 руб. в месяц
В стоимость не включены расходы на канал, дисковое пространство, а также стоимость услуг администратора.
0
возможности например для синхронизации корзины на разных вкладках
Это через localStorage проще и дешевле.
Лучше напишите, что с правами (подписка/получение/отправка)?
Есть ли возможность подписки по маске?
+1
Лучше напишите, что с правами (подписка/получение/отправка)?
Доступ к вебсокетам регулируется ключом websocketKey, который можно поменять в настройках приложения.
Есть ли возможность подписки по маске?
В данный момент нет, но мысль интересная, подумаем.
p.s. Хотелось бы получить больше информации по поводу плюшек, которых не хватает и были бы востребованы.
Например: подписка по маске, буферизация и т.д.
0
Доступ к вебсокетам регулируется ключом websocketKey, который можно поменять в настройках приложения.
Я не про ключ, а каналы, как сделать их приватными? Или предлагаете генерировать уникальные имена? Так это фиии.
Хотелось бы получить больше информации по поводу плюшек, которых не хватает и были бы востребованы.
Ну, вот, например чтобы сделать нормальный чат, нужно хотя бы все возможности Faye
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
WebSockets в Scorocode или чат своими руками за 15 минут