|
|
|
Обновление приложения nodejs
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Собственно вопрос) а как корректно? Есть в принципе несколько вариантов. Есть даже возможность отслеживать изменения файлов и перегружать приложение. Есть вариант через nginx что то типа отказоустойчивого кластера. Два приложения, одно останавливаем, запросы идут на второе. Первое обновляем—запускаем В принципе все эти способы хороши. Но у все у них имеется момент остановки сервера. Соответственно те запросы, которые обрабатываются в момент остановки сервера обломятся. Есть ли вариант сделать обновление без «облома» текущих соединений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2019, 22:20 |
|
||
|
Обновление приложения nodejs
|
|||
|---|---|---|---|
|
#18+
SwvЗдравствуйте. Собственно вопрос) а как корректно? Есть в принципе несколько вариантов. Есть даже возможность отслеживать изменения файлов и перегружать приложение. Есть вариант через nginx что то типа отказоустойчивого кластера. Два приложения, одно останавливаем, запросы идут на второе. Первое обновляем—запускаем В принципе все эти способы хороши. Но у все у них имеется момент остановки сервера. Соответственно те запросы, которые обрабатываются в момент остановки сервера обломятся. Есть ли вариант сделать обновление без «облома» текущих соединений? Ну Front можно..Например кога разрабатываешь на react ,файл изменил и тут же в браузере перерисовалось,а вот back нет(Или надо делать инжениринг выгрузки с горячей компиляцией,и тут node надо знать как будто Вы сами её создали) Ибо node предкомпилирует файлы и в памяти и уже использует там.Замена файла на Back вообще ничего не даст.Надо node server остановить/запустить и она скомпилирует новый, и новая логика пошла в работу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2019, 11:11 |
|
||
|
Обновление приложения nodejs
|
|||
|---|---|---|---|
|
#18+
irbis_alSwvЗдравствуйте. Собственно вопрос) а как корректно? Есть в принципе несколько вариантов. Есть даже возможность отслеживать изменения файлов и перегружать приложение. Есть вариант через nginx что то типа отказоустойчивого кластера. Два приложения, одно останавливаем, запросы идут на второе. Первое обновляем—запускаем В принципе все эти способы хороши. Но у все у них имеется момент остановки сервера. Соответственно те запросы, которые обрабатываются в момент остановки сервера обломятся. Есть ли вариант сделать обновление без «облома» текущих соединений? Ну Front можно..Например кога разрабатываешь на react ,файл изменил и тут же в браузере перерисовалось,а вот back нет(Или надо делать инжениринг выгрузки с горячей компиляцией,и тут node надо знать как будто Вы сами её создали) Ибо node предкомпилирует файлы и в памяти и уже использует там.Замена файла на Back вообще ничего не даст.Надо node server остановить/запустить и она скомпилирует новый, и новая логика пошла в работу) Да нет. Есть решения, когда меняешь файлы проекта, нода это замечает и сама перезапускается. Вопрос в другом) возможно ли избежать того, чтоб нода не перегружалась, когда она выполняет входящие запросы. Ведь если при перезапуске ноды есть обрабатываемые входящие запросы, то они обломятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2019, 15:44 |
|
||
|
Обновление приложения nodejs
|
|||
|---|---|---|---|
|
#18+
Вот он ответ) nginx -s reload Создаем новую конфигурацию nginx с отправлением запросов на другую ноду, стартуем другую ноду. Выполняем команду выше. Она перегружает конфигурацию, новые запросы идут на новую ноду, старые выполняются. Минут через пять можно первую ноду остановить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2019, 15:52 |
|
||
|
|

start [/forum/moderation_log.php?user_name=%D0%92%D0%B0%D0%B4%D0%B8%D0%BC17]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 677ms |
| total: | 867ms |

| 0 / 0 |
