Могут ли потребители иметь длительные соединения и оставаться открытыми?
В общем, да.
Подробно: в зависимости от конфигурации потребителя.
Если ваши потребители являются членами группы потребителей, они, безусловно, должны быть закрыты - чтобы вызвать перебаланс в кратчайшие возможные сроки.
Если ваши потребители используют автоматическую фиксацию смещений, они по-прежнему будут фиксировать каждую Nмс (AFAIK 60k), возможно, тратя ресурсы.
В противном случае они могут остаться - но зачем тратить ресурсы?
Должны ли производители закрываться всякий раз, когда мы заканчиваем выдавать сообщения?
В общем, да.
Зависит от вашего дизайна, но если вы можете сказать в определенное время, что больше не будете отправлять сообщения, тогда вы можете закрыть.То, что не означает , означает, что вы должны закрывать и заново создавать продюсера после каждого отправленного сообщения.