У меня есть огромный текстовый файл, который постоянно добавляется из общего места, которое мне нужно читать построчно из моего java-приложения и обновлять в SQL RDBMS, чтобы в случае сбоя java-приложения оно должно начинаться с того места, где оно осталось, а не с самого начала.
это обычный текстовый файл. Каждая строка будет содержать:<Datatimestamp> <service name> <paymentType> <success/failure> <session ID>
Кроме того, данные, извлекаемые из базы данных, также должны быть в режиме реального времени без каких-либо проблем с производительностью, доступностью или доступностью в веб-приложении.
Вот мой подход: разверните приложение в двух системных блоках, каждый из которых содержит пульс, который пингует другую систему на предмет доступности службы. Когда вы получаете успешный ответ на сердцебиение, вы также получаете метку времени, которая была последней успешно считанной. В случае сбоя следующего отклика пульса приложение в другой системе может взять на себя управление на основе: 1. неудачного ответа 2. последней успешной отметки времени.
Кроме того, поскольку потребность в поиске данных возникает в реальном времени, а данные огромны, могу ли я сканировать базу данных, помещая ее в поиск Solr или Elastic для более быстрого поиска вместо выполнения вызовов базы данных?
Есть разные способы сделать это, как лучше.