@nodejs_ru

Страница 2598 из 2748
Gor
25.09.2018
17:26:38
Кластер монго

Aga
25.09.2018
17:26:50
А, тогда норм

У тебя сокеты есть?

Gor
25.09.2018
17:27:26
Веб которые?

Google
Aga
25.09.2018
17:27:34
ws, +

Gor
25.09.2018
17:27:43
Я реализовал микросервисом их тоже

Aga
25.09.2018
17:28:04
Я тоже, типа messages service

Аа, или ты socket service?

Gor
25.09.2018
17:28:40
Но в моей структуре я сделал другую фишку, они еще udp server поднимают и получают от прокси прослойки уведомления о запросах

В итоге при подключении вебсокета - можно слушать события Аля post messages

Aga
25.09.2018
17:29:25
Хмм, а где ты хранишь соединения?

Gor
25.09.2018
17:29:37
Э зачем?

Aga
25.09.2018
17:29:44
Если дублировать ws сервера, надо знать кто-кто

Gor
25.09.2018
17:30:18
При конекте- тебя конектит на один из них

Aga
25.09.2018
17:30:31
Типа, я подключился к первому дубликату, ты ко второму. Как я тебе отправлю что-то?

Gor
25.09.2018
17:30:44
Ты отправляешь не мне а в API

Aga
25.09.2018
17:31:00
Допустим, а API должен знать где ты

Google
Gor
25.09.2018
17:31:06
А сокет мне говорит - в такой-то ендпоинт новый запись

А апи всем вс рассылает по удп уведомления

Trilium
25.09.2018
17:31:23
Допустим, а API должен знать где ты
уже обсуждали же http://iostreamer.me/ws/node.js/jwt/2016/05/08/websockets_authentication.html главное здесь - verifyClient

Aga
25.09.2018
17:31:25
Допустим, а API должен знать где ты
Т.е. к какому дубликату подключён

Gor
25.09.2018
17:31:40
Нет

Aga
25.09.2018
17:31:44
Хотя не суть

Это не проблема, я единственное не понял как API понимает к какому из дубликатов WS Server'a ты подключён

Trilium
25.09.2018
17:35:26
jwt?
здесь jwt не при чем. вся фишка в ws каллбеке verifyClient: function (info, cb) {} в нем ты получаешь хеадеры с клиента(ты ему уже sid присвоил, вот его можно получить назад) . и по нему узнаешь кто это ломится. если выполнишь cb(false) , то клиента выкинет и вебсокет закроется

Aga
25.09.2018
17:35:53
Я потом написал

С верификацией проблем нет

Trilium
25.09.2018
17:39:26
для этого пишешь свой велосипед, как для socket.io. здесь написано как это работает https://socket.io/docs/using-multiple-nodes/ вся идея - использовать redis pub/sub, тогда не важно к какой ноде подключен сокет.

Aga
25.09.2018
17:39:57
Опять же, хранить сокет коннекшн в редисе?

Сверху писали что нельзя, но

Но если хранить, то дальше изи получается

Gor
25.09.2018
17:44:05
Это не проблема, я единственное не понял как API понимает к какому из дубликатов WS Server'a ты подключён
API рассылает на все up&running ws (помнишь да у меня реестр) - по UDP протоколу ведомления, а ws уже на основе твоего токена и scope прав доступа, передает на фрон по активному соединениу ведомление. ну а на фронте что то типа ws.on('post:messages', function (){ ... add new record to messages list ...})

Aga
25.09.2018
17:44:42
Фактически, я буду получать все сообщения и дальше фильтровать?

Gor
25.09.2018
17:45:11
зависит от scope и прав доступа

Aga
25.09.2018
17:45:37
Допустим тебе адресовано уведомление или сообщение

Google
Aga
25.09.2018
17:45:45
Я получу его на сервере?

Gor
25.09.2018
17:45:46
типа приватное?

ну да. все через сервер

Aga
25.09.2018
17:45:53
Типа да

Gor
25.09.2018
17:45:59
с записью в базу

Aga
25.09.2018
17:46:03
это же лишняя нагрузка

Если оно не предназначена для меня Зачем сервер должен обрабатывать?

Я думал сделать типа списка коннекшнов, типа send message to connections ["","",""..]

А не тупо раздавать всем

Gor
25.09.2018
17:47:42
ну тоесть типа с экономить на сообщении в инстанс WS если там нет клиента

Aga
25.09.2018
17:48:07
Так смотри, это норм, если у тебя не много юзеров

Представь 100к активных коннешнов

Я буду получать уведомления 99.999 коннекшнов

Trilium
25.09.2018
17:48:51
здесь на кажду ноду будут приходить сообщения только ей предназначенные. это не лишняя нагрузка

Aga
25.09.2018
17:49:06
То есть?

Есть 2 ws сервера

Server 1, Server 2. Я подключился к 1, ты ко 2

Я шлю сообщение тебе, сервер транслирует сообщение на оба сервера?

Gor
25.09.2018
17:49:49
не не , @CanVeeD прав - в моей схеме все WS сервера получат уведомления. даже если нет вообще никого на конекте. потому я и выбрал UDP

интересная мысль конечно. при 100мб потока, сэкономить пусть будет 50 - это имеет смысл. поставлю себе галочку на переделку подумать на эту тему

Google
Gor
25.09.2018
17:50:57
пока что критично не было

Aga
25.09.2018
17:51:15
пока что критично не было
Я конечно понимаю, что не сильно повлияет в наших случаях, но надо быть готовым)

Gor
25.09.2018
17:53:52
Что за схема с UDP?
Ну ws получают уведомления для рассылке на фронт через udp

Я конечно понимаю, что не сильно повлияет в наших случаях, но надо быть готовым)
С другой стороны если все все пытаться учесть можно умереть раньше чем релиз будет

Aga
25.09.2018
17:55:09
Но опять же, я лучше потрачу на месяц больше, чем сделаю на отьебись

Это типа личного проекта

Как минимум, хуже себе не сделаю)

Gor
25.09.2018
17:56:04
Вопрос баланса. На отстань - было бы гвоздями все прибить и не отсвечивать:)

Aga
25.09.2018
17:56:24
Вообще, баланс нужен когда 7-8к юзеров онлайна бывает

Тогда уже железно нужен

Gor
25.09.2018
17:56:32
Я этот фреймворк уже пару лет пишу

Aga
25.09.2018
17:56:33
А при 1к онлайна, толк какой?)

Можно написать костяк, ибо задачи разные бывают

Gor
25.09.2018
17:57:18
А что б не копипастить одно и тоже в каждом микросервисы, что б был реестр, фишки и шашки.

Aga
25.09.2018
17:57:43
Не шарю конечно, но слышла про его балансер

Gor
25.09.2018
17:57:56
В итоге у меня минут 15 на микросервис если нет запудренной бизнеслогики

Google
Aga
25.09.2018
17:58:14
Я этот проект, 4 раза переписывал

Gor
25.09.2018
17:58:18
А нгинксу тоже надо настраивать

Trilium
25.09.2018
17:58:29
Я шлю сообщение тебе, сервер транслирует сообщение на оба сервера?
редис транслирует только на ту ноду, которой предназначается сообщение(к которому подключен тот сокет, в который нужно писать)

Gor
25.09.2018
17:59:37
ну, лучше чем велосипед изобретать)
:)) так было бы такое же - не писал бы. Я от того и сел писать что не нашел нужного

Aga
25.09.2018
18:00:11
Ты по работе этим занимаешься или собственнный проект?

Gor
25.09.2018
18:00:34
И то и то

Сейчас вот на этой основе релиз готовлю для бакенд-фронтенд решения по недвижимости в Канаде

По контракту

Aga
25.09.2018
18:01:49
не, у меня задачка по крупнее

Gor
25.09.2018
18:02:16
Чур только давай не бум мерится:)

Aga
25.09.2018
18:02:21
ахахах)

Makkusu
25.09.2018
18:03:37
Добрейший вечерочек, господа кодеры. Читаю тутор по оутлуку и не могу понять https://docs.microsoft.com/en-us/outlook/rest/node-tutorial#implementing-oauth2 Я знаю что не обязательно создавать сервер для генерации oauth2, но вот я не понимаю зачем создавать токен исходя из их примера. Например, гугл использует на своей стороне генерацию и всё делается очень просто. Как мне реализовать получение токена нормальным образом для клиента? Обязательно ли устанавливать пакет simple-oauth2 и обязательно ли добавлять redirectUri

Gor
25.09.2018
18:03:58
Я Фреймворк под gpl релизнул то что в проще щя использую. Но последние пол года на контракте все соки выжимал. Щя закрою и хочу вдумчиво 2версию сделать, с упором на userfriendly для кодера

Aga
25.09.2018
18:04:51
У меня есть типа костяка, базовый сервис

И отталкивая от него, точить под нужды

Но в разработке фреймворка пока не вижу нужды

Gor
25.09.2018
18:05:59
А давай я тебе online todo example кину. А вдруг вдохновишься?;)

Aga
25.09.2018
18:06:24
давай)

Gor
25.09.2018
18:09:42
давай)
http://microservice-frame.work/api-todo-example-2/ Правда я давно не проверял. Дай знать если забежит:) Вообщем тупо пошаговое туду: клонишь пример проект и запускаешь. Потом на этой же странице онлайн, логинишься к своему инстанса на локалке:)

Страница 2598 из 2748