@wbq2s

Как узнать об изменении в сторонней БД?

Суть задачи в том, что есть бд с виртуальными картами пользователей. У меня к ней базовый доступ(узнать баланс, id и прочая фигня, кроме истории списания). Мне нужно сделать ТГ бота, который будет узнавать о списании денег с карты и отправлять это пользователю. Сервер не может кидать мне данные об успешном списании. Как я понял, чтобы все работало, я должен делать запрос на из сервер, чтобы получить список карт и их id, а после по ним узнавать о списании проверяя всех. Хочу узнать у знающих есть ли другой способ это получать, тк это будет и их сервак нагружать даже по 1 запросу в час если отправлять, так и моему боту нужно будет много времени для обработки.
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
@deliro
Если иных доступов нет, то брутфорс — единственный вариант. Обычно для этого делают возможность спросить "есть там изменения после X", где "X" — время, когда ты делал этот запрос в прошлый раз, либо всякие оповещалки на разный вкус от простого pub/sub на redis или вебхуков до ESB на каких-нибудь кафках
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
В классический реляционных БД - никак. БД проектировались исключительно как сервер который "отвечает на вопросы". И при этом сам ничего не уведомляет.

Если нужно ловить события в той точке где они возникают - то лучшее место не БД а именно сервер приложений. И для хранения событий использовать топики Kafka или RabbitMQ.

Если этого всего нет - то тогда дергай запросы 1 раз в час. Другого выхода нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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