есть варианты этого не делать. но вы уверены что вы этого хотите? вы упираетесь или планируете упереться в оверхед от большого количества горутин?
Не упираюсь, но реализовывал например схему с завершением рутины и контролем ошибок при отправке данных с сервера - если ошибка, то клиент закрыл коннект и его можно удалить на сервере.
Так не нужно иметь рутины, но сами коннекты хранятся дольше. Вот и вопрос, что лучше - иметь горутины, которые занимают процессор, или хранить бесполезные коннекты