Viktor
автоматически определяющий, в какой нод пушить
Viktor
из доступных
adil
ладно вы уже загялдываете дальше моей компетенции я не такой прошаренный еще
Nikolay
Нода сама берет себе таски из очереди.
Nikolay
А пушатся они в очередь в редисе кем угодно и когда угодно.
Viktor
то есть там что-то вроде шины?
Viktor
ааа
Viktor
я понял
Nikolay
Получается максимально развязанная система.
Viktor
все, спасибо, буду знать
Nikolay
Так редис и есть шина по сути :)
adil
да блин!
Viktor
в общем, советую погуглить по архитектуре этой такое явно делается часто, и решение должно быть простое
Viktor
возможно вот это наведет на мысли
Viktor
https://github.com/smrchy/rsmq
adil
блин, ребят спасибо вам. реально столько годых советов, реально неожидал
Viktor
Viktor
вот так я себе представляю
Viktor
то есть шина, из которой берут, сколько смогут проглотить, ноды
Viktor
на картинке показано (как я это понимаю), что nodeA вполне себе справляется сама с очередью и берет из нее со смертью nodeA в дело включается nodeB на деле же я думаю, что все будет работать еще эффективнее, к примеру nodeA, nodeB будут поочередно брать из очереди (пока первая взяла и отправляет, вторая берет следующее)
Viktor
но требуемое условие отказоустойчивости сохраняется в обоих случаях
Viktor
блин, ребят спасибо вам. реально столько годых советов, реально неожидал
я сюда редко захожу, но тут часто задают интересные вопросы
adil
я рад что я не подкачал) на самом деле мне тоже понравилась эта задача.
adil
она мне не показалась простой. но она офигенная
Viktor
:) я думаю, все будет работать как часы сам люблю серверные технологии, хотя ушел из них на пару лет во фронтенд
Viktor
а еще приятно видеть вдохновленного человека
Nikolay
блин, ребят спасибо вам. реально столько годых советов, реально неожидал
Почитай еще, как сделать блокирующую очередь с нодой и редисом.
Nikolay
https://redis.io/commands/brpoplpush
adil
Почитай еще, как сделать блокирующую очередь с нодой и редисом.
Редис вообще я так понял очень мощная штука) я знал конечно что это не только key value
Nikolay
Я вот эту команду юзал, чтобы атомарно перекладывать таски из списка pending в список processing
Nikolay
Ты же, надеюсь, ioredis юзаешь в качестве клиента?
adil
блин похожу нет( вот это https://github.com/noderedis/node_redis
adil
мне надо срочно перекатиться на ioredis?
Nikolay
блин похожу нет( вот это https://github.com/noderedis/node_redis
Меняй. Там то же самое, только с промисами.
adil
а ну так я промисифицирую
Nikolay
Да. Коллбеки для мазохистов.
adil
и пишу ак удобнее
Nikolay
Ну а смысл, если есть уже либа
adil
ну да согласен выглядит как говно, и колбеки и куча promisify
adil
спасибо за совет
Nikolay
Ох бляяяя, открыл код воркера трёхлетней давности
Nikolay
Ох сука
Nikolay
Viktor
ох божечки
Viktor
творческая работа)
adil
ого
adil
я никогда не видел применение генераторов не под капотом в скомпилированном коде
adil
мб это скомпилированный код из ts в es5?)))
Viktor
нет, генераторы в es6 пришли, если не ошибаюсь)
adil
а да
adil
все верно
Viktor
так что в es5 выглядело бы оооочень страшно
Viktor
ты typescript используешь?
adil
ты typescript используешь?
на работе пишем на ts в петпроджектах по разному, бывает js бывает ts
Nikolay
я никогда не видел применение генераторов не под капотом в скомпилированном коде
На тот момент асунц-аваит еще не завезли :) Стыдно, конечно, но это до сих пор крутится где-то в проде :)
adil
да блин не знаю как можно посмотреть на свой код написанный год назад и не обфейспалмиться
adil
а уж 3 года
adil
а рефакторить всегда есть что)
Nikolay
да блин не знаю как можно посмотреть на свой код написанный год назад и не обфейспалмиться
Когда и если такое происходит, значит всё плохо, ты перестал развиваться :)
Viktor
Ну крутится и крутится) Код должен работать с точки зрения машины, ну а люди туда судя по всему не совались давно)
adil
ну кстати не плохой индикатор как я однажды напилил онлайн шахматы, и из всех кому бы я их не отправлял успешно играли в них только программисты реально просто такое совпадение все остальные все время ловили странные неведомые мне баги и не могли играть, а товарищи программисты все играли и было все ок тоже тест на программиста получился)))
Viktor
я как-то релагся в Ростов на конфу по джаваскрипту
Viktor
там в форме, если не указать телефон, начиная с 7, форма выдавала фразу "неизвестная ошибка"
Viktor
ну я сразу переправил 8 на 7 и все схавалось
Viktor
у программистов интуиция)
Viktor
еще и друзьям помог
Nikolay
Ну вообще телефоны начинаются с +7. Восемь это неправильно.
Viktor
В России 8 - выход на межгород и мобильники, в 810 - на международную линию.
Viktor
"+" - это символ международного формата телефонного номера. При наборе номера с плюсом оператор будет обрабатывать вызов в международном формате +7 - это международный код России (и Казахстана). Поэтому +7 будет работать во всем мире, а 8 - только в России
adil
аххаа как была у нас тоже как то просто таблица где надо было себя вписать и номер потом я захожу к нашему девопсу а он у всех меняет 8 на +7 и проставляет у кого вообще без 8ки) вот я тогда поржал отдуши
Viktor
это я щас скопипастил с гугля) просто мне самому интересно стало
Viktor
жара)
Viktor
база данных "ручной сборки"
adil
ну вообще да, мне сейчас сложно представить как можно писать большой проект не на ts
Viktor
я на нем пишу 100% времени уже годик так где-то, поначалу очень коряво шло
Viktor
вообще это моя первая статическая система типов в жизни
Viktor
но я пишу на нем все - от мелкого до великого уже не помю, когда подолгу вылавливал "глупые" ошибки в стиле забылого return, или передав не то что нужно не туда, куда нужно