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
Aga
25.09.2018
17:31:25
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
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
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
Aga
25.09.2018
17:58:31
ну, лучше чем велосипед изобретать)
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/
Правда я давно не проверял. Дай знать если забежит:)
Вообщем тупо пошаговое туду: клонишь пример проект и запускаешь. Потом на этой же странице онлайн, логинишься к своему инстанса на локалке:)