Имеется сервис Kafka Consumer, который читает данные из топика в Кафке и затем записывает их в БД. В данный момент реализовано так, что при поступлении нового сообщения в топик, открывается соединение с БД, идёт запись, затем соединение закрывается.
Сообщения в топик Кафки приходят с непостоянной скоростью. Могут приходить раз в пару секунд, а могут раз в несколько минут (зависит от времени суток, дня недели и пр.).
И вопрос в том, что открывать новое соединение раз в пару секунд, наверное, не очень оптимально.
У меня, как мне кажется, есть три варианта:
- Оставить как есть
- Не закрывать соединение вообще
- Проверять поступление сообщений каждые N минут и если сообщений не было, то закрывать соединение, а при получении нового сообщения открывать соединение
Какой из этих вариантов более правильный или может есть ли какие-то иные верные подходы?