Задать вопрос
@Sergey_VR
Инженер IT

Какую технологию использовать для предотвращения потери данных?

Дано:
1. База данных PostgreSQL;
2. Сервер сбора данных с оборудования по modbus-tcp;
3. Ненадёжная линия связи между 1 и 2;
4. Сервер сбора данных непрерывно передаёт данные в базу данных.

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

Склоняюсь к брокеру сообщений с гарантией доставки, только не могу выбрать, т.к. опыта общения с подобным ПО нет совсем. Рассматривал несколько брокеров:
1. Apache Kafka - оказалось, что подтверждения доставки нет;
2. RabbitMQ - подтверждение есть, но уж очень серьёзный продукт;
3. Apache MQ - подтверждение есть, и вроде попроще на первый взгляд.

Может есть какие-то более подходящие продукты?
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Drno
лично по моему общению с раббит - или там криворукое тех по, или сам продукт так себе... сам падает, не перезапускается, и все в таком духе
Ответ написан
begemot_sun
@begemot_sun
Программист в душе.
А давайте попишем решение на Erlang ?
Будет состоять из 2 частей - приемника и передатчика.
Может использовать UDP. Как очень сложное решение для вашей задачи: https://github.com/loguntsov/reliable_udp
я думаю можно все проще сделать.
Ответ написан
Ваш ответ на вопрос

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

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