본문 바로가기

Gin4

Golang Gin Graceful restart, stop / golang, go, 고랭, 고, 언어 Graceful restart, stop은 gin framework에서만 사용하는 것이 아니라, 모든 프로세스에 적용이 가능한 작업이다. Graceful은 말그대로 우아한 종료, 재시작의 의미인다. 프로그래밍적으로 보자면 Network의 관점에서 보면 될 것 같다. - client에서 server로 요청이 들어와서 server에서 아직 처리 중 일때 - client와 server간 keep-alive나 websocket같은 protocol로 연결이 유지되고 있을 때 앞선 상황에서 서버가 강제로 종료되거나 재시작 된다면 client입장에서는 정상적인 response를 받을 수 없게 된다. 이럴 때 필요한 것이 graceful restart, stop이다. Golang Gin Graceful restart,.. 2023. 2. 16.
Golang Gin Middleware / golang, go, 고랭, 고, 언어, 미들웨어 Golang Router에 이어서 다음으로 살펴볼 예시는 Middleware이다. http request/response 중간에서 매개역할을 해주는 것으로 보면 된다. 중간에서 인증, 트래픽관리, 자동화 등을 통해 full로 받는 서버의 부담을 줄여주는 역할 Golang Gin Middleware 앞선 예시에 이어서 Middleware를 추가해봤다. Latency로 요청에 대한 응답이 얼마나 걸리는지 출력하는 예시이다. package main import ( "github.com/gin-gonic/gin" "net/http" "time" ) func Logger() gin.HandlerFunc { return func(c *gin.Context) { t := time.Now() c.Next() laten.. 2023. 2. 7.
Golang Gin Router / golang, go, 고랭, 고, 언어, 라우터 Golang Gin Router 저번에 이어서 기본적으로 web server를 배울 때 Router가 기본이라고 생각이 들어서, Router에 대해 찾아봤다. Vue / React를 할때도 Router를 기본으로 셋업하긴 했다. 저번에 이어서 바로 Router를 적용하면 package main import ( "github.com/gin-gonic/gin" "net/http" ) func setupRouter() *gin.Engine { r := gin.Default() v1 := r.Group("/api/v1") { v1.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) v1.GET("/hello/:name",.. 2023. 2. 4.
Golang Gin Framework 시작 / golang, go, 고랭, 고, 언어, 진, 프레임워크 Golang에 대해 공부를 좀 해야하는데, 시작하기에 Gin Framework를 통해 서버를 만드는게 좋을 것 같아서 Gin으로 찾아봤다. Golang Gin Framework Init % mkdir golang-gin-study % cd golang-gin-study % go mod init github.com/dev-chicken/study-golang/gin/golang-gin-study go: creating new go.mod: module github.com/dev-chicken/study-golang/gin/golang-gin-study % go get -u github.com/gin-gonic/gin go: downloading github.com/gin-gonic/gin v1.8.2 go.. 2023. 2. 3.
반응형