170 похожих чатов

Итак: пока надумал три варианта 1. все элементы на отдельных серверах

связь каждого с каждым по rest api
2. сервер с телеграмом работает только на ввод/вывод данных => вся обработка и общение с бд лежит на сервере с парсером.
3. объединить парсер с базой данных на одном сервере.

Данные в бд гоняются туда-сюда достаточно часто, хватит ли для парсера и этого одного сервера?
Какая практика вообще присутствует? Всё разделять? Или может посильнее кучковать, а не делигировать, чтобы было меньше шансов, что что-то отлетит?

15 ответов

6 просмотров

почему бы во втором варианте не поменять парсер и бд местами? парсер кидает в бд данные, бот их оттуда берет. Или вам надо чтобы бот общался с парсером?

Mikhail-Smolnikov Автор вопроса

Хм Спасибо, очень дельная мысль) Как-то не подумал Просто первоначально парсер был частью сервера с телегой И там и крутилась крон задача на парсинг каждый час Поэтому априори считал, что задачу парсеру задаёт сервер с вебхуком.. . Тогда теперь надо выбрать между первым и вторым))

ну между первым и вторым (где бд на месте парсера) разница лишь в том, общается бот с парсером или нет. Тут уж как вам нужно архитектурно

Mikhail-Smolnikov Автор вопроса

А, ну конечно Я вспомнил почему я так решил Парсер должен отправить боту новые данные для рассылки Дело в том, что невозможно заранее определить сколько парсинг займет времени (зависит от количества вводных данных == пользователей) Если бы время было фиксировано, я бы просто допустим через 5 минут после парсинга забирал бы обновленные данные с бд и делал бы рассылку

ну тогда первый вариант будет лучше, но это повлечет за собой дополнительные траты на сервер под бд

Mikhail-Smolnikov Автор вопроса

Ну это естественно, куда в наше время без денег Спасибо огромное за дельные мысли)

👍👍

1 вариант это стандарт, все остальное будет приводить к ботлнеку (узкому горлышку)

Mikhail-Smolnikov Автор вопроса

Чудесно, мы с @MrOnlineCoder и @kar_enina решили так же)

вам поможет moleculer.services с кастомным транспортером

увы, нет

Mikhail-Smolnikov Автор вопроса

Какой-то ультимативный вариант

у меня просто примерно такой же кейс был, тоже тг бот, тоже адовейший парсинг, но бд была rethinkdb

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
Hey someone plz help to resolve my issue here is my table... Log { id user_id type target_ct target_obj_id action_ct action_obj_id workspace_id created_at } i wanna fil...
Rahul Singh
1
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта