아키텍쳐19 서비스의 고가용성(HA)를 지키기위해 적용 할 수 있는 방법 들 서비스를 안정적이게 운영하기 위해서는 서비스가 중간에 다운 되거나, 응답이 없거나, 장애가 발생하는 상황이 생기지 않아야 한다. 서비스가 이러한 응답을 제대로 받는지에 대한 측정 지표를 가용성(availability)이라고 하는데, 안정적인 서비스는 고가용성(HA; high availability) 을 지킨다 라고 표현한다. 이번 글에서는 서비스의 고가용성 즉 HA 를 만족시키기 위한 여러가지 방법들에 대해서 알아본다. 1. 쿠버네티스(kubernetes) 사용 Production-Grade Container OrchestrationProduction-Grade Container Orchestrationkubernetes.io 가장 쉽고 대표적으로 고가용성을 만족하기 위한 방법으로는 쿠버네티스를 사.. 2024. 6. 30. [강의 정리] Distributed System 6.2: Raft consensus algorithm (..ing..) # 강의 영상 정리 지금까지 정리해왔던 분산 시스템의 논리적 시간, broadcast 등을 살펴 보며 이제, 이러한 개념들을 정리해서 Raft 알고리즘에 대해서 살펴볼 것입니다. 그리고 이 알고리즘은 분산 환경에서 합의를 이루는 과정에 대한 알고리즘 이므로, 꽤 복잡하므로 하나씩 슈도코드를 통해 살펴 보면서 이해해보도록 하겠습니다. 실제로 이 Raft 알고리즘을 항상 기억하고 있어야할 필요는 없지만, 이 알고리즘을 한번쯤 깊게 이해해 보는것도 가치가 있는 일입니다. 이 Raft 알고리즘에 대해서 시각적으로 살펴보기 위한 웹 사이트도 참고해보세요. (http://thesecretlivesofdata.com/raft/) (https://raft.github.io/) 이 알고리즘을 이해하기 위해서는 아래 그림.. 2023. 4. 12. [강의 정리] Distributed System 6: Consensus # 강의 영상 정리 이번 장에서는, 우리는 다시 total order broadcast 의 문제에 대해서 되돌아가보도록 하겠습니다. 바로 이전 장에서 우리는 state machine replication (SMR) 을 활성화 하는데 total order broadcast 가 굉장히 유용할 것이라는 것을 보았어요. 그리고, 이 total order broadcast 를 구현하는 방법중의 하나로 하나의 노드를 leader 로 만들고, 모든 메시지를 그 leader 를 통하도록 하는 방법도 살펴 보았습니다. leader 는 받은 메시지를 FIFO broadcast 로 각 노드들에 전달하게 되고, 이는 각 메시지들이 동일한 순서대로 전달 되는 것을 보장해줄 수 있습니다. 하지만, 이 구조의 가장 큰 그리고 중요.. 2023. 4. 11. [강의 정리] Distributed System 5.3: Replication using broadcast # 강의 영상 정리 이전 장 2023.03.31 - [아키텍쳐] - [강의 정리] Distributed System 5.2: Quorums (정족수) 에서 살펴본 quorum 방식은 기본적으로 best-effort broadcast 를 이용합니다. (best-effort broadcast: client 가 보내는 모든 read/write 를 전체 replica로 전송 될 때, protocol 이 안정적이지가 않아서 올바른 순서로 오지 않을 수 있음) 다른 방법으로는 이전 2023.03.22 - [아키텍쳐] - [강의 정리] Distributed System 4: Broadcast protocols and logical time 에서 살펴본 broadcast 프로토콜이 있습니다. 한번 FIFO-total .. 2023. 3. 31. 이전 1 2 3 4 5 다음 more