Pull to refresh
0
0
Send message

Очень грубо и коротко: "фреймворки не нужны! Пишем свой!".

Полезная статья для тех, кто не задумывается как работает vue/react. Иметь эти знания очень большой плюс имхо.

Но уровень "сложно" я бы все же заменил на "средней сложности", ведь это база, тут ничего сложного. Всё сложное делается простыми механизмами.

Спасибо за статью.

Очень много вопросов...

Но подсвечу то, что первым пришло в голову:

На счёт запуска n-ботов в спящем режиме. Если решается проблема маленького аптайма, то я бы решал это на уровне глубже.

Если бот падает из-за потери связи с бд/сервисом/сокетом, то нужно зеркалить именно их, а не бота. Это всего лишь клиент. Все равно, что в браузере запускать сразу 2 сайта в разных вкладках и если на одной вкладке на сайте упало соединение с бэком, то закрыть вкладку и переключиться на вторую. Бессмысленно :)

Если бот падает, потому что сам сервер работает коряво или на нем падает инет - тут лучше поменять сервак и выбрать тот, у которого аптайм ближе всего к 100. В ситуации с падающим сервером, конечно, можно притянуть варик поднимать "теневых" ботов на других серверах, но тогда вместо 3-4 оплаченных серверов лучше взять только 2, но с высоким аптаймом и при падении пойти смотреть, что там опять случилось (если сервак дома, например). Вероятность падения одновременно 2х серверов, никак не связанных друг с другом, как говориться "крайне мала".

Но если бот падает из-за внутренней логики, то даже имея запущенного клона это никак не поможет, т.к. логика у него точно такая же. Тут проще юзать какой-нибудь процесс менеджер и перезапускать на сервере упавшее приложение. Ну и уведомить разраба о падении через тот же телеграм и починить логику.

В остальном идея с файлом имеет место быть. Спасибо за инфу по некоторым командам и что куда можно передавать и за описание собственного опыта, кому-то точно это пригодится.

Information

Rating
Does not participate
Registered
Activity

Specialization

Фронтенд разработчик, Веб-разработчик
Ведущий
From 7,000 $
TypeScript
Vue.js
GraphQL
SCSS
Gulp
LESS
Jade
Webpack
Sass
JavaScript