Anonymous
не пойман не вор как говорится
Anonymous
Не совсем по js вопрос, но почему 1 <<1024 выдаёт такое большое число
Anonymous
Должно выдавать 2048
Карамультук
Должно выдавать 2048
ну это 2 в 1024 получается
Anonymous
1024 << 1
Точно. В коде именно (1<<1024)-1 Так понимаю, что это 1024 битовый ключ инициализируется
Карамультук
все логично, должно быть большое
Nikita
https://alvarotrigo.com/fullPage/
спасибо, то что надо
adil
ребята кто с редисом на ты?
Nikolay
ребята кто с редисом на ты?
Задавай вопрос сразу.
adil
Задавай вопрос сразу.
при выключении приложения "на горячую" коннект к редису не отваливается. так как нет события закртия подключения. есть какой то способ вычищать на лету список коннектов?
adil
как я вообще могу пинговать коннекты дял проверки действительно ли они активны или просто висят "подохшие"
Viktor
я не знаком с редисом, но точно ли проблема в этом?
Viktor
я просто почитал доку их, в частности последнюю секцию, он должен сам чиститься https://redis.io/topics/clients
Viktor
ну согласись, глупо, если не так
adil
тут не совсем проблема а скорее задача. надо чтобы при отключении на горячую приложение понимало СОГЛАШУСЬ что глупо ребят. но к сожалению это так потому что я открываю два инстанса одного приложения при открытии нового у меня выводится новое подключени при закрытии пропадает но если я закрою терминал тогда остается
adil
и это пипец как напрягает
adil
я уже проклял этот редис
Viktor
https://redis.io/commands/client-list
adil
вот клиент листом я и достаю данные
Viktor
я возможно что-то банальное кидаю)
adil
не пропадает если закрыть терминал
Viktor
но, проглядев глазами, вижу, что там нет ничего про статус "мертвое соединение"
Viktor
скорее всего концепции мертвых соединений нет
Viktor
вопрос тогда в таймайте перед разрывом с закрывшемся клиенте
adil
тут появляется следующий вопрос. как пинговать
Viktor
по умолчанию он ждет 300 секунд
Viktor
\
Viktor
потом рвет
adil
хм
Viktor
adil
как то можно его сократить мб?
Viktor
да думаю можно безусловно
adil
отлично кажется это то что надо!
adil
спасибо
adil
буду гуглить
Viktor
рад, если поможет)
Viktor
есть две опции TCP keepalive для сетевого взаимодействия и SOCKET keepalive для взаимодействия через unix-сокет. полагаю, нужно первое
$continue$
Приветствую. Как правильно заставить работать href с своим http server?
Nikolay
и это пипец как напрягает
да пусть висят. если прям напрягают, снизь idle timeout в редисе для клиентов
Nikolay
он будет убивать неактивные
Nikolay
ну а ваще, тебе сокетов что-ли жалко? :))
Viktor
idle timeout - это время простоя?
Nikolay
Да, была настройка, точно помню, кури доку :)
adil
да дело в том что у меня задача такая) надо чтобы при отключении ноды, другая нода взяла на себя задачу рассылки
adil
не хочу в подробности но как то так
Viktor
довольно интересная задача)
adil
вы че в теме задачи?
Nikolay
Ну я делал N воркеров, и они по кругу из очереди брали команды
adil
и я не первый такой?
Viktor
я нет) я никогда не пользовался им)
Viktor
просто принцип понимаю
Nikolay
Работало как часы. Нода сдохла -- перестала брать таски из очереди, и всё
Viktor
звучит логично
Viktor
да дело в том что у меня задача такая) надо чтобы при отключении ноды, другая нода взяла на себя задачу рассылки
просто при таком раскладе это звучит так, словно вторая нода должна знать о состоянии первой. Это выглядит сомнительно сложно
adil
Ну я делал N воркеров, и они по кругу из очереди брали команды
ну в общем да смысл такой что есть нода и я могу запустить кучу ее инстансов но при этом одна должна быть дережором. и при условии что одна упала и именно упала а не завершилась с событием функцию дережора другая (рандомная) должна перехватить я не думаю что я нашел какое то супер крутое решение мозг уже немного кипит поэтому хочу просто отслеживать коннекты и если "мастер нода" отвалилась назначать мастером следующую по списку
Viktor
если позволишь критику, мне кажется, что это немного неправильно
Viktor
я объясню
adil
давай
Viktor
в этой схеме есть редис и несколько нод приложения, так?
adil
да
Nikolay
Оркестрация сервисов вообще задача не особо тривиальная :)
Viktor
если ввести определение "мастер-ноды" приложения, то логически из этого следует, что побочные ноды должны каким-то образом получать сигнал о ее падении (на это нужен алгоритм) во-вторых, какая-то из следующих должна взять на себя задачу (вопрос "какая?" - это еще один алгоритм)
Nikolay
Всегда будет единая точка отказа (в моей системе это был балансировочный гейт)
Nikolay
Ну либо несколько гейтов запускать на разных портах, тогда надежность повышается.
Viktor
проще всего, если при отношении 1:N (1 редис - N клиентов) будут работать одинаково все N нод-приложения, как описал Николай
Viktor
таким образом исключается иерахрия
Viktor
и система работает вне зависимости от падения одного узла
Viktor
N-1 нод остаются в работе
adil
так ну в принципе я пока не нахожу противоречий с моим решением
adil
объясни лучше сразу где я делаю дичь
Viktor
если так, то замечательно
Viktor
где - я не знаю) я чисто абстрактно описал свое видение
Viktor
как если бы это был любой клиент-серверный стек
Viktor
но технически я понимаю, что нужен балансировщик