@JSlang

Страница 418 из 2237
Oleg
28.11.2016
03:27:57
Самый тлен и боль это взлом биржи конечно

Ariel
28.11.2016
03:27:59
Не верю сейчас в алго. Не то время.

Oleg
28.11.2016
03:28:08
Форекс в целом зол

Но не им единым

Google
Ariel
28.11.2016
03:28:22
Эт да. :)

Oleg
28.11.2016
03:28:37
Есть мнения что форекс это для отъема денег

Но это холивар

Ariel
28.11.2016
03:28:54
Знакомый на фонду ушел. Там спокойнее. Я не понимаю, слишком медленно.

Да, тему холивара поднимать не будем. Знающие знают, а остальные пусть сливают дальше:)

Пойду Я отосплюсь. Ещё раз доброй ночи.

Или утра:)

Vladislav
28.11.2016
03:33:04
Доброе утро чатик, вопросик. Хочется общую шину данных между микросервисами. Как я себе это представляю - есть кучка микросервисов и все они подключены к одному "чатику", для каждого микросервиса определены свои типы сообщений на которые оно реагирует. В чем профит - не надо хардкорить обращения внутри микросервисов друг к другу. На одно и то же событие(сообщение) необходим отклик нескольких микросервисов. Например на событие создания сделки в cms должен сработать микросервис создающий сделки в crm, микросервис отправляющий сделку в аналитику и микросервис который напишет сообщеньку в slack. В какую сторону смотреть?

Семен
28.11.2016
03:34:09
Бля, я где-то тебя видел, мб на хакатоне 2гис?

Vladislav
28.11.2016
03:34:42
Да, я был там

А по теме ? ;)

Семен
28.11.2016
03:35:47
Напиши в nodejs тред

Oleg
28.11.2016
03:36:43
А где определяется что на одно событие должны быть подписаны несколько микросервисов?

Google
Oleg
28.11.2016
03:37:00
Собственно в вопросе уже часть ответа как сделать ?

В целом делается эдакий эвент-домен. Там конфиг прописывается, либо сами микросервисы обращаются к домену мол мы подписываемся на событие с таким вот именем, будет что - шли нам. Потом один из микросервисов шлет домену мол вот такое событие я сейчас совершил, вот ещё данные к нему. А домен смотрит, ага, на событие с таким именем подписаны вон те ребята, сейчас я им разошлю. А если никто не подписан - ну и ладно.

Получается слабосвязанная архитектура - очень полезный способ организации когда много всяких атомарных микросервисов.

При этом можно на горячую отключать некоторые из микросервисов и падений не будет

Может что-то затеряться, но падений не будет

А ещё круче если буфер

Мол если микросервис не ответил что получил данные - подождать и попробовать позже

Залогировав конечно что было что-то не то

Но!

Оно выживает

Vladislav
28.11.2016
03:45:41
А готовых подобных решений нет? Просто я уверен что тут можно поймать много подводных камней о которых я не подумаю. Я смотрел в сторону zero/rabbitMQ и не смог понять подходит ли мне.

Oleg
28.11.2016
03:46:22
Может быть есть

Но у меня руками

Впрочем если HTTP-протокол между микросервисами - такое пишется дня за 3, может 5, не более.

На ноде

Дмитрий
28.11.2016
03:47:23
Я бы не был так оптимистичен)

Я сейчас как раз такое пишу

Oleg
28.11.2016
03:47:33
Я бы был ?

Нода, экспресс, реквест, монга

И вперед

Google
Дмитрий
28.11.2016
03:48:01
Да неважно вообще что

Oleg
28.11.2016
03:48:05
Файла 4

Примерно

Дмитрий
28.11.2016
03:48:09
Дело не в технологии

Oleg
28.11.2016
03:48:12
Это да

Vladislav
28.11.2016
03:48:34
3-5 дней это долго ☹️️. захардкорить обращения это дело 5 секунд ?

Oleg
28.11.2016
03:48:48
Тогда лучше хардкодить

Дмитрий
28.11.2016
03:49:18
Как только у тебя начинает расти объем, разнообразие и вариативность диалогов обмена данными, твой протокол разбухнет и взорвётся

Oleg
28.11.2016
03:49:37
Сам эвент-домен правда уязвим может быть ибо централизация архитектуры выходит

А вот не должно расти то

Дмитрий
28.11.2016
03:50:04
Не то чтобы централизация

В идеальном мире, ага

Oleg
28.11.2016
03:50:57
По факту то нужно - Имя эвента - Данные эвента В обратку - Результат в булеан - Текст ошибки если есть

Дмитрий
28.11.2016
03:51:08
Бгг

Oleg
28.11.2016
03:51:17
Ну а как иначе?

А если там легаси то сложнее да

Нужно ещё запаковывать и распаковывать

Дмитрий
28.11.2016
03:51:39
Это не то что "иначе", просто за твоим предложением бездна

У меня сейчас в районе 8 сервисов регулирующих довольно сложный и ветвистый алгоритм

Oleg
28.11.2016
03:52:03
Возможно ты в эвент домен перетащил бизнес-логику?

Google
Oleg
28.11.2016
03:52:06
Ибо тогда да

Бездна

Вполне верю

Если потоком данные, кусочками, могут быть небольшие нюансы про перенаправить

Andrey ?
28.11.2016
03:54:39
В Яндекс.Метрике через js можно кормить её utm-ками, не указывая их в ссылке, а кормя ими через js api?

Дмитрий
28.11.2016
03:55:36
Есть три параллельных процесса, один очень быстрый, десятки блоков данных за минуту, второй зависит от ввода пользователя, то есть имеет непредсказуемое время ответа, причем время ещё и ограничено А третий процесс происходит в зависимости от результатов остальных двух и присылает ооочень большой объём данных

Так как обмен сообщениями довольно активный, везде устроен дебаунс сообщений, они накапливаются а потом отправляются пачкой

Oleg
28.11.2016
03:56:46
А почему не сразу?

Что-то проседает?

Дмитрий
28.11.2016
03:59:12
Потому что если я каждый пакет буду отдельно слать то сеть ляжет, данных достаточно много, а один процесс очень частый. А ещё от этого страдает оптимальность алгоритма, оптимальнее пачкой инициализировать одну обработку

Admin
ERROR: S client not available

Oleg
28.11.2016
03:59:42
Да, у тебя бизнес-логика сложная

Тут увы

Дмитрий
28.11.2016
03:59:48
И всё, система "сообщение — ответ" перестаёт быть такой уж простой и очевидной

Oleg
28.11.2016
03:59:55
Это уже не просто эвент-домен

Это контроллер шины полноценный

Дмитрий
28.11.2016
04:00:15
Ага

Не один даже

Я одну фишку сделал, однозначно она уже звестна но я прям доволен)

Контроллеры эти — пассивные

Google
Oleg
28.11.2016
04:01:34
И ФП

Всё понятно

?

По доброму смеюсь конечно

Дмитрий
28.11.2016
04:04:49
Они делают какие то обработки в зависимости от стейта микросервиса Конечный автомат состояний А микросервис в свою очередь при включении начинает активно спрашивать у ближайшего контроллера что ему делать в данном стейте. Хз как объяснить внятно, но короче ни одна из этих частей не требует другой, а при выключении связи просто ждёт

То есть как ведущиие так и ведомые модули могут варьироваться в количестве и месте расположения в любых пределах)

Oleg
28.11.2016
04:06:56
Звучит интересно

?

Дмитрий
28.11.2016
04:16:15
Ну да) Ещё микросервис-redis для оперативного обмена данными

Поверх редиса бахнул ORM

Для полного хардкора)

И ФП
А что ФП?))

Oleg
28.11.2016
04:20:36
Пассивные контроллеры и всё такое

С неизменным там стейтом

Дмитрий
28.11.2016
04:22:52
?

Vladislav
28.11.2016
04:25:42
Гугл подсказал что ampq протокол именно то что я искал и там уже всё есть из коробки. Всем спасибо

Oleg
28.11.2016
04:28:21
При ограниченных ресурсах в случае пиков нагрузок можно ещё отсекать малоприоритетные эвенты

Ну и в целом приоритизация и всё такое

енот
28.11.2016
04:43:35
подскажите пожалуйста, почему NaN в функцию приходит в JS? function picturenet(count){ console.log ("count: " + count); } function start() { console.log(jpglist.length); picturenet(jpglist.length); }

jpglist - массив, полученый из json

console.log(jpglist.length); это корректно отрабатывает

Oleg
28.11.2016
04:45:35
console.log(jpglist.length) Что выводит?

Страница 418 из 2237