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

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

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

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

15 ответов

22 просмотра

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

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

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

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

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

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

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

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

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

👍👍

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

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

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

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

увы, нет

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

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

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

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

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

Ребят в СИ можно реализовать ООП?
Николай
33
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
core\config\database\connections\default.php На всякий случай проверь всё же файл <?php return [ 'driver' => env('DB_TYPE', 'mysql'), //$database_type 'host' => env('D...
Andrey K
2
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
16
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
Кто кодит под Лазарем на винде, у вас аналогично VCL переопределяются CreateWnd и CreateParams для конкретных классов контролов и все заданные флаги влияют?
А Андрей
11
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
Карта сайта