반응형

전체 글 80

Connection Timeout과 Read Timeout 살펴보기

오늘은 타임아웃 계의 양대 산맥 Connection Timeout과 Read Timeout에 대해 이야기 해 보려고 합니다. 두 타임아웃의 의미에 대해 살펴보며 적정한 값을 찾는 방법에 대해서 살펴 보겠습니다. Connection Timeout과 Read Timeout의 의미 먼저 Connection Timeout은 종단 간 연결하는데 소요되는 최대 시간을 의미 합니다. 이 시간을 넘기게 되면 연결 할 수 없는 것으로 판단하고 에러가 발생 합니다. Connection 이라는 단어가 의미하는 것처럼 종단 간 연결에 사용되는 타임아웃 입니다. 그리고 이 때의 연결이란 우리가 잘 알고 있는 TCP 3 way handshake를 통해 TCP 연결이 생성되는 것을 의미 합니다. Read Timeout은 연결된 종..

IT/DevOps 2021.10.07

쿠버네티스 패턴

http://www.yes24.com/Product/Goods/89861207 쿠버네티스 패턴 - YES24 반복과 재사용 가능한 24가지 쿠버네티스 디자인 패턴으로 완성하는 클라우드 네이티브 애플리케이션 개발과 구현에 대한 모든 것! 쿠버네티스 전문가로 도약하기 위한 필독서쿠버네티스에서 www.yes24.com 요즘 제가 가장 열심히 공부하고 있는 분야는 역시 쿠버네티스 입니다. 하루라도 빨리 쿠버네티스를 익히고 익숙해 저야 하기 때문에 굉장히 많은 책을 보고 있습니다. 이 책도 그렇게 열심히 공부하기 위해 구매한 책들 중 하나입니다. 쿠버네티스와 관련된 책들을 꽤 많이 구매했는데 유독 이 책이 기억에 남습니다. 이 책은 제목처럼 쿠버네티스를 이용해서 애플리케이션을 구현하기 위한 다양한 패턴들에 대해서..

리뷰/도서 2021.10.05

세번째 글 - 패키지 만들기

애플리케이션이 해야 할 일이 많아지고 규모가 커지게 되면 코드를 분리해야 하는 경우가 생깁니다. 우리가 지금까지 만들었던 것처럼 main.go라는 파일 안에 모든 로직들을 넣을 순 없게 됩니다. 그래서 패키지화라는 과정을 통해 애플리케이션의 로직을 비슷한 역할을 하는 코드들끼리 모아 둡니다. 파이썬에서는 디렉터리를 만들고 __init__. py라는 파일을 만들어서 패키지화를 할 수 있습니다. 비슷한 방법으로 Go 언어 역시 패키지화를 할 수 있습니다. 하지만 Go 언어에서의 패키지화는 개인적으로는 파이썬 보다 훨씬 편하다고 생각합니다. 그리고 Go 언어가 가지는 여러 가지 특징 중 하나가 손쉬운 패키지화라고도 생각합니다. 이번 글에서는 우리가 앞에서 다뤘던 애플리케이션을 패키지화해서 관리하는 방법에 대해..

IT/GoLang 2021.10.04

크래프톤 웨이

http://www.yes24.com/Product/Goods/102346469 크래프톤 웨이 - YES24 “우리는 빠른 추격자가 아닌 최초의 선도자가 되기를 열망했다”창업자들의 첫 만남부터 게임 제작의 명가가 되기까지크래프톤은 어떻게 실패를 극복하고 무엇을 만들었나크래프톤이 직접 www.yes24.com 성공한 회사가 왜 성공했는지 분석하는 글들은 너무 뻔합니다. 그들이 어떤 어려움을 겪고 어떤 시행착오를 겪으면서 거기까지 갔는지에 대한 이야기보다는 자신의 관점에서 무의미하게 분석해 놓은 글들이 많기 때문입니다. 마치 높은 수익률의 주식을 보여주면서 "거봐, 내가 오를 거라고 했잖아" 라고 말하는 것과 다름없다고 생각합니다. 정작 자기 자신은 그 회사의 주식이 오를 거라고 믿지도 않았으면서 말이죠. ..

리뷰/도서 2021.10.03

두번째 글 - 함수 사용하기

오늘은 Go 언어의 함수에 대해 살펴보겠습니다. 사실 언어를 공부하게 되면 제일 먼저 학습하게 되는 것이 변수 선언 같은 것일 텐데요, 여기서는 조금 다르게 함수를 먼저 살펴보겠습니다. 지난번에 만들었던 Hello Workd on API Gateway의 코드(https://fallwalker.tistory.com/4) 를 바탕으로 함수를 만들어서 여러 개의 Path를 처리할 수 있도록 해보겠습니다. URI 별로 분기 하기 우리가 만든 Go 애플리케이션은 람다로 실행되고 앞단의 HTTP 요청은 API Gateway가 처리해 주기 때문에 Header와 Path와 같은 HTTP와 관련된 데이터들은 인자로 받을 수 있습니다. handler() 함수에서 인자로 받고 있는 events.APIGatewayProxyR..

IT/GoLang 2021.09.25

첫번째 글 - Hello World on API Gateway

Go 언어는 Go 루틴, 고계함수, Interface 등과 같이 Go 언어를 Go 언어 답게 만들어 주는 몇가지 기능들이 있습니다. 사실 이런 것들이 Go 언어를 어렵고 복잡하게 만들기도 하지만 그만큼 강력하게 만들어 주기도 하죠. 하지만 이런 특징적인 기능들 없이 기본적인 기능들만 잘 활용해도 Go 언어를 이용해서 다양한 애플리케이션을 만들 수 있습니다. 특히 AWS Lambda 서비스와 함께 동작하면 간단하면서도 확장성 높은 API 서버 혹은 배치 작업들을 만들어 낼 수 있죠. 이번 시리즈의 목표도 그렇습니다. Go 언어를 Go 언어 답게 만들어 주는 특징적인 기능들을 빼고, 기본적인 문법들과 패턴들을 이용해서 나에게 필요한 애플리케이션을 만들어 보는 시리즈 입니다. 하나의 글 마다 목표로 하는 애플..

IT/GoLang 2021.09.22

이와타씨에게 묻다

http://www.yes24.com/Product/Goods/101891742 이와타씨에게 묻다 - YES24 위기의 닌텐도를 세계적인 기업으로 성장시킨전설적인 CEO의 이야기!“나는 영원한 게이머입니다”닌텐도 전설의 CEO, 이와타 사토루의 명언 모음집! [슈퍼 마리오] [젤다의 전설] [동물의 숲] 등 www.yes24.com 제가 요즘 기술 외에 많은 시간을 할애해서 생각하고 있는 주제 중 하나가 바로 회사의 문화입니다. 특히 IT 회사의 문화, 과연 직장을 다니면서 행복할 수 있을까 라는 주제로 많은 생각을 하고 있습니다. 그런 저의 생각 대부분은 "나"로 귀결되지만 요즘엔 "나와 함께 하는 사람들"에 대해서도 많이 생각하게 됩니다. 아무래도 연차가 높아지고 조금씩 선배보다는 후배가 많아지고 있..

리뷰/도서 2021.09.19

샤드 개수가 성능에 미치는 영향

ElasticSearch (이하 ES)의 가장 기본적인 동작은 바로 문서의 색인과 조회입니다. 검색하고자 하는 문서를 색인하고 색인된 문서에 대한 검색 결과를 사용자에게 돌려주는 것이 ES의 가장 기본적인 동작이며 가장 핵심적인 동작이죠. 그리고 이런 동작들의 중심에는 샤드들이 있습니다. 또한 색인 성능, 검색 성능의 튜닝도 샤드를 잘 배치하는 것에서부터 시작합니다. 오늘 글에서는 ES의 두 샤드, 프라이머리 샤드와 레플리카 샤드에 대해 살펴보고 프라이머리 샤드 개수를 잘 설정하는 게 왜 중요한지 성능에 어떤 영향을 주는지에 대해서 살펴보겠습니다. 샤드의 종류 먼저 ES의 샤드에 대해서 살펴보겠습니다. ES에는 크게 프라이머리 샤드와 레플리카 샤드, 두 종류의 샤드가 있습니다. 그 이름에서 역할을 유추해..

IT/ElasticSearch 2021.09.09

12년차 엔지니어의 쿠버네티스 적응기

2년 전.. 제가 이런 글을 썼었죠. https://brunch.co.kr/@alden/55 온프레미스 엔지니어의 퍼블릭 클라우드 정착기 오늘은 기술적인 내용이라기보다는 이직 후 제가 경험했던 내용들에 대해 이야기해보려고 합니다. 제목 그대로 온프레미스 환경에 익숙했던 엔지니어가 퍼블릭 클라우드 환경으로 정착해 가는 brunch.co.kr 호기롭게 새로운 도전을 해보겠다는 마음으로 스타트업의 세상에 발을 내디뎠던 그때, 나름 6개월간 지냈던 이야기를 썼었습니다. 그때는 온프레미스 엔지니어였던 제가 퍼블릭 클라우드에 익숙해 지기 위해 겪었던 것들에 대한 이야기를 적었었는데요, 그로부터 2년이 지난 지금 저는 또 쿠버네티스라는 새로운 친구를 만나 고생을 하고 있습니다. 그래서 이번 글은 쿠버네티스라는 새로운..

끄적끄적 2021.09.04

Tucker의 Go 언어 프로그래밍

http://www.yes24.com/Product/Goods/99108736 Tucker의 Go 언어 프로그래밍 - YES24 게임 회사 서버 전문가가 알려주는 Go 언어를 내 것으로 만드는 비법구글이 개발한 Go는 고성능 비동기 프로그래밍에 유용한 언어이다. 『Tucker의 Go 언어 프로그래밍』은 Go 언어로 ‘나만의 프로 www.yes24.com 요즘 너무 쿠버 네티스에 대한 책들만 읽어서 머릿속이 컨테이너화 될 것만 같은 느낌이 들었습니다. 그래서 어떤 책을 읽어볼까 고민하다가 Go 언어 책이 나왔길래 냉큼 주문했습니다. 저도 Go 언어에 관심이 많고 1년 정도 열심히 공부하고 만들었지만 뭔가 체계적으로 공부한 적은 없기 때문에 제가 어렴풋하게 알고 있던 지식들을 잘 정리할 겸 Go 언어 책을 ..

리뷰/도서 2021.08.28
반응형