golang

http.ListenAndServe 와 http.Server 차이

안범진 2024. 11. 14. 18:30

위 두개 차이점을 아는가?

난 모른다.

 

오늘 코드 볼게 있어서 이해가 안되는 부분 지피티랑 수다좀 떨었는데

http.ListenAndServe, http.Server 차이를 알게 되어버렸다.

 

나는 http.ListenAndServe 이걸 통해서 서버 띄우곤 했는데 이것만 쓰면 graceful shutdown 을 구현하지 못한다

근데 솔직히 graceful shutdown 이 중요한지 아직 모르겠음

 

go 루틴으로 http.ListenAndServe 를 써서 서버 띄우고

channel 열어서 os.Interrupt 감지하고 있게 하고

감지 되면 server.Shutdown 으로 종료 시키면 이것이 바로 graceful shutdown 임

 

안전하게 종료시키는거 중요한데

아직 느껴본적이 없어서 와닿진 않음