전체 글68 서비스의 고가용성(HA)를 지키기위해 적용 할 수 있는 방법 들 서비스를 안정적이게 운영하기 위해서는 서비스가 중간에 다운 되거나, 응답이 없거나, 장애가 발생하는 상황이 생기지 않아야 한다. 서비스가 이러한 응답을 제대로 받는지에 대한 측정 지표를 가용성(availability)이라고 하는데, 안정적인 서비스는 고가용성(HA; high availability) 을 지킨다 라고 표현한다. 이번 글에서는 서비스의 고가용성 즉 HA 를 만족시키기 위한 여러가지 방법들에 대해서 알아본다. 1. 쿠버네티스(kubernetes) 사용 Production-Grade Container OrchestrationProduction-Grade Container Orchestrationkubernetes.io 가장 쉽고 대표적으로 고가용성을 만족하기 위한 방법으로는 쿠버네티스를 사.. 2024. 6. 30. 2024 세번째 지리산 후기 작년 가을, 겨울에 지리산을 간 이후로 올해는 초반에 가벼운 산들 계양산, 광교산을 주로 다녔다. 아무래도 지리산 한번 가면 한동안 큰 산이 잘 생각이 안난다.. 겨울이기도 했고 산을 자주 못갔는데 봄이 되면서 슬슬 날이 풀려지고 이제 다시 산 생각이 조금씩 나기 시작했다. 그런데 지리산은 산불 조심기간이라는게 있다고 한다. ("산불로부터 지리산의 자연자원과 각종 야생 동·식물 등을 보호하기 위해 15일부터 4월 30일까지(75일간) 일부 탐방로의 출입을 통제한다." ) 보통 국립공원 들은 매년 산불 조심 기간이 있다고 한다. 그래서 다행히..바로 가진 못했구. 맘의 준비를 할 시간을 갖고 5월 말쯤에 가게 되었다. 지리산 얘기만 하면 코스도 다 짜주고 산장도 잡아주는... 아빠가 있어서 다행히 준.. 2024. 6. 2. Go 에서 HTTP client 를 작성할 때 주의할 점 go 에서 제공하는 http 관련 패키지(net/http)를 이용해서 코드를 작성할 때 주의해야할 점이 있다. go 에서는 아래와 같이 client 객체가 구성되어 있고, 기본으로 사용되는 DefaultClient 는 단순히 해당 객체를 반환한 값이다. type Client struct { // Transport specifies the mechanism by which individual // HTTP requests are made. // If nil, DefaultTransport is used. Transport RoundTripper // CheckRedirect specifies the policy for handling redirects. // If CheckRedirect is not .. 2024. 4. 12. HTTP 에 대해서 서버나 클라이언트나 인터넷을 통한 어떤것을 하더라도 접할 수 있는 것이 HTTP 다. 그런데 실제로 HTTP 에 대해서 공부하려고 하면 너무 양도 방대 하고 어디서 부터 어떻게 봐야할지 막막하다. 그래서 이 글에서는 HTTP 에 관해 그때 그때 생기는 궁금증을 위주로 정리해 보려고 한다. HTTP 는 왜 필요 하나? HTTP는 Hyper Text Transfer Protocol 의 약자로 서버와 클라이언트 간의 웹 통신에 주로 사용됩니다. HTTP 는 OSI 7 계층 중 어플리케이션 계층에 속하고, TCP/IP 위에서 동작합니다. 우리는 평소에 이러한 HTTP 통신을 이용해 서버에서 주는 텍스트 들을 전달 받아서 웹 페이지를 로딩할 수 있습니다. HTTPS 는 뭔가 기본적인 HTTP 통신은 단순히 평문 .. 2024. 4. 11. 동시성 프로그래밍 관점에서 Golang vs Java Golang과 Java 각각의 프로그래밍 언어를 동시성 프로그래밍의 관점에서 차이점을 정리해본다. Golang 을 처음 공부 하다 보면 '고루틴(goroutine)' 이라는 용어를 많이 접할 수 있다. 이 고루틴은 쓰레드 처럼 동시성 처리를 위해 사용된다. 그러면 이 고루틴이 다른 언어들의 동시성 처리 방법과 어떤점이 다른지, 그 중에 Java 와 비교해서 차이점을 알아본다. 우선 기존의 Java 에서 사용하는 쓰레드(Thread) 란? 말 그대로 우리가 기존에 알고 있던 프로세스와 쓰레드 개념에서 나온 쓰레드 라고 생각하면 된다. 하나의 프로세스 안에 여러 쓰레드가 존재할 수 있으며, 이 쓰레드를 이용해 여러 작업을 동시에 처리 하고, 각 쓰레드 간의 데이터 교환도 가능하다. Java 에서는 이런 쓰레.. 2024. 4. 1. 2023년도에 읽은 소설책들 후기 (제노사이드, 그리고 아무도 없었다, 악의 유전학, 희망의 끈) 는 과학 얘기가 많이 나오는 추리소설 이다. 사실 처음에는 추리소설인지 모르고 그냥 과학관련 소설인줄 알고 읽었는데, 다 읽고 나니 추리소설 이었다. 제노사이드의 전체적인 줄거리는 엄청 똑똑하게 태어난 사람을 진화한 인류라고 칭하면서, 그 인류를 보호하냐 아니면 죽여야 하냐 라는 내용으로 전개된다. 초반에는 두개의 서로 다른 이야기가 번갈아가면서 전개되어서 이해하기 어려웠는데, 읽다보니 두 이야기가 하나의 이야기로 합쳐지면서 얘기가 맞춰지는 재미가 있었다. 제노사이드의 뜻은 집단학살이다. 사실 책을 중반 쯤 읽으면서 알게 되었지만, 이 책에서 죽이려고 하는 대상은 1명이었지만 그 1명이 진화한 인류를 대표한다고 생각해서 집단학살이라고 표현한거 같다. 후반부로 갈수록 전개가 아주 긴박하게 되어서, 읽는.. 2023. 12. 31. 이전 1 2 3 4 5 ··· 12 다음