David's tech blog
취소

Go 스케줄러 내부 동작 원리 - GMP 모델 깊이 파헤치기

최근 회사에서 Golang 을 활발하게 사용하고 있는데, Go 언어의 가장 강력한 특징 중 하나는 고루틴(goroutine)을 통한 경량 동시성이다. go 키워드 하나로 수천, 수만 개의 동시 작업을 생성할 수 있는 것은 Go 런타임의 스케줄러 덕분이다. 공부 차원에서 이 글에서는 Go 스케줄러의 핵심인 GMP 모델의 내부 동작 원리를 살펴보고 정리한...

무료 사이드 프로젝트에서 Scalable 하게 프로덕션까지 fly.io 활용하기 A to Z

fly.io 서론 사이드 프로젝트 혹은 해커톤 등에서 열심히 코드를 작성하고 배포할 때가 되면, 항상 어떤 플랫폼 혹은 서비스를 이용하여 배포하여야 더 경제적인지, 더 나아간다면 장기적으로 관리하기 쉽고 Scale in/out 하기 쉬운지를 고려하게 된다. AWS를 사용하자니 AWS 에서 제공하는 방대한 기능은 사실 거의 필요 없고, 혹여나 잘못된...

localstack 으로 로컬 환경에서 lambda 개발 및 테스트 환경 구축하기

서론 개발하다보면 가용성이나 여타 다른 서비스의 영향을 받지 않기 위해 서버리스 운영을 고려하곤 한다. AWS의 lambda 는 standalone 에 비해 상대적으로 개발하기 간편하면서 다른 인프라 의존성을 신경쓸 일이 적고(DB 접근같은 문제는 차치하더라도) 필요에 따라 훨씬 유연하게 개발할 수 있기 때문에 특정 상황에서 많은 장점을 가지고 있...