Эффективный способ запрашивать PostgreSQL каждые 30 секунд? - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно получить данные (сколько записей ожидает обработки) из определенных таблиц PostgreSQL в AWS для составления отчетов.Результат qry публикуется в журнале и принимается демонами FluentD и отправляется вasticsearch / Kibana.Прямой способ сделать это - написать маленькое приложение с загрузочной пружиной, которое пингует Db каждые 30 секунд или около того.Это, я чувствую, неэффективно и дорого.Есть ли лучший способ для этого?

Ценю вашу помощь.

1 Ответ

0 голосов
/ 18 февраля 2019

Вместо того, чтобы периодически запрашивать БД, используйте Change Data Capture (CDC), чтобы создать поток событий изменений.Используя потоковую обработку, запишите результат в индекс Elasticsearch.Если вас не беспокоит блокировка поставщика, вы можете использовать AWS DMS, Kinesis и Lambda для этого.В противном случае вы можете использовать подходящий соединитель Kafka, чтобы прочитать изменения и опубликовать события на Kafka.Затем с помощью потоков Kafka отправьте данные в Elasticsearch.

...