Size: a a a

Node.js — русскоговорящее сообщество

2020 February 10

М

Макс in Node.js — русскоговорящее сообщество
Nuruddin
Да , например если 500 чел одновременно сделают get запрос /workers случится ли сбой в базе ?
В практически все современные базы данных, кроме SQLite, предназначены для одновременного использования разными клиентами, с одновременным доступом к данным. Чтобы при этом данные не испортились, надо уметь пользоваться таким инструментом, как транзакции - это вопрос не по NodeJS, это вопрос по общей теории SQL. (Я сейчас предполагаю, что мы говорим о реляционных БД).
источник

N

Nuruddin in Node.js — русскоговорящее сообщество
Спасибо !
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
倫太郎 岡部
Запросы его все равно идут в одно место - в жс
Большую часть времени уходит на ожидание ответа от сети, диска и БД, поэтому часто производительности js достаточно, нужно больше - тогда cluster
источник

N

Nuruddin in Node.js — русскоговорящее сообщество
Макс
Вы сейчас говорите о двух разных вещах. Одна вещь, это выполнение запросов на уровне сервера приложения (нод).

Вторая вещь - это одновременный доступ к данным (база данных). Это практически всегда два разных слоя приложения. Второй вопрос - это вопрос, например, о PostgreSQL.
Можете по подороднее обьяснить про эти два слоя
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Макс
В практически все современные базы данных, кроме SQLite, предназначены для одновременного использования разными клиентами, с одновременным доступом к данным. Чтобы при этом данные не испортились, надо уметь пользоваться таким инструментом, как транзакции - это вопрос не по NodeJS, это вопрос по общей теории SQL. (Я сейчас предполагаю, что мы говорим о реляционных БД).
get запрос подразумевает только получение данных, так что даже без транзакций всё хорошо
источник

MK

Mihail Kuzmin in Node.js — русскоговорящее сообщество
Artem Soroka
Большую часть времени уходит на ожидание ответа от сети, диска и БД, поэтому часто производительности js достаточно, нужно больше - тогда cluster
Он к тому, что в жс не может быть параллельно ничего, все равно по очереди обработка будет
источник

A

Alex CherryTea in Node.js — русскоговорящее сообщество
Artem Soroka
Большую часть времени уходит на ожидание ответа от сети, диска и БД, поэтому часто производительности js достаточно, нужно больше - тогда cluster
А если производительности js недостаточно молотим данные прямо в постгрессе )
источник

A

Alex CherryTea in Node.js — русскоговорящее сообщество
Mihail Kuzmin
Он к тому, что в жс не может быть параллельно ничего, все равно по очереди обработка будет
Ну есть форки, спавны, воркеры...
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Mihail Kuzmin
Он к тому, что в жс не может быть параллельно ничего, все равно по очереди обработка будет
Параллельно нет, конкурентно да
источник

MK

Mihail Kuzmin in Node.js — русскоговорящее сообщество
Alex CherryTea
Ну есть форки, спавны, воркеры...
Это понятно, я о случае одного процесса
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Mihail Kuzmin
Это понятно, я о случае одного процесса
Помимо самого js в node есть отдельные потоки и event loop для IO
источник

М

Макс in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
get запрос подразумевает только получение данных, так что даже без транзакций всё хорошо
Если у вас на других POST-запросах не сделана нормальная работая с транзакциями, то у вас в GET-запросе могут быть некорректные данные, когда одна таблица уже обновилась, а другая ещё нет.
источник

MK

Mihail Kuzmin in Node.js — русскоговорящее сообщество
Artem Soroka
Помимо самого js в node есть отдельные потоки и event loop для IO
Ну так, ивент луп по очереди обрабатывает, не параллельно же
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Mihail Kuzmin
Ну так, ивент луп по очереди обрабатывает, не параллельно же
Параллельно с event loop самого js, то есть чтение файлов, прием входящих сетевых пакетов происходит одновременно
источник

АГ

Александр Годунов in Node.js — русскоговорящее сообщество
Всем привет! Подскажите, как можно программно определить что нода зависла и перезапустить ее?
источник

A

Alexander in Node.js — русскоговорящее сообщество
Александр Годунов
Всем привет! Подскажите, как можно программно определить что нода зависла и перезапустить ее?
зависит от определения. что значит зависла?
источник

Н

Никита in Node.js — русскоговорящее сообщество
Александр Годунов
Всем привет! Подскажите, как можно программно определить что нода зависла и перезапустить ее?
Саму себя перезагрузить?
источник

Н

Никита in Node.js — русскоговорящее сообщество
Александр Годунов
Всем привет! Подскажите, как можно программно определить что нода зависла и перезапустить ее?
Отправить на её порт что-то если нет ответа рестарт
источник

АГ

Александр Годунов in Node.js — русскоговорящее сообщество
Alexander
зависит от определения. что значит зависла?
не отвечает на запросы, например.. или если утечки памяти большие..
источник

АГ

Александр Годунов in Node.js — русскоговорящее сообщество
Никита
Отправить на её порт что-то если нет ответа рестарт
а как ее перезагрузить можно удаленно? через pm2?
источник