본문 바로가기

분류 전체보기68

[강의 정리] Distributed System 1.2: Computing networking # 강의 영상 이번 장에서는 분산 시스템을 본격적으로 들어가기 전, Computer networking 이라는 주제를 한번 언급합니다. 우리는 평소에 웹에서 다양한 작업들을 하게 되는데, 이때 요청을 하는 우리 즉, 클라이언트 입장에서는 특정 작업을 진행하게 되면 그 요청이 서버로 날라가고, 서버는 우리의 요청을 진행하여 결과를 보내줍니다. 그러면 우리는 그 응답을 확인하는 형태로 웹을 사용하게 되는데요, 이때 네트워크 통신이 어떻게 이루어지는지 모두 알고 계신가요? 이 통신을 알아야 우리가 웹을 사용할수 있나요? 사실 우리는 하나의 요청만 할 뿐, 실제 내부에서 어떤 일이 이뤄지고 어떻게 동작하는지는 모르고 있습니다. 그리고 몰라도 됩니다 . 실제로는 단순히 네트워크 상에서 하나의 요청과 하나의 응답이.. 2023. 2. 23.
[강의 정리] Distributed System 1.1: Introduction # 강의 영상 개요 먼저, 병렬 시스템은 동일 프로세스 안에 여러 스레드가 있는 경우로, 동일한 리소스에 대한 접근을 어떻게 제어할지 등에 관한 이슈가 존재 합니다. 이러한 병렬 시스템과 비슷하게 분산 시스템에 관하여 살펴볼 텐데, 분산 시스템은 단일 컴퓨터가 아닌 여러 컴퓨터 노드와 네트워크를 통해 연결되는 상황이라는 것이 병렬 시스템과의 차이입니다. 강의 초반에 분산 시스템이란 아래와 같이 얘기합니다. " ... a system in which the failure of a compute you didn't even know existed can render your own computer unusable." - Leslie Lamport 직역하면, 내가 존재하는지도 몰랐던 컴퓨터의 오류로 인해 나의.. 2023. 2. 21.
[Kubernetes] kubernetes 의 리소스에 보이는 resourceVersion 은 어떤 용도일까? 쿠버네티스의 리소스를 생성하고 리소스를 확인하게 되면 metadata 항목에 내가 입력하지 않은 "resourceVersion" 이 포함되어 있는 것을 확인 할 수 있습니다. 예시. apiVersion: v1 kind: Pod metadata: annotations: timestamp: "2023-02-08T09:18:44.990943240Z" creationTimestamp: "2023-02-09T06:29:32Z" name: my-pod namespace: default resourceVersion: "222187897" resourceVersion 의 용도? 쿠버네티스에서는 선언형 동작으로, 원하는 동작을 기술한 manifast 를 클러스터에 등록하면 해당 manifast 를 보고 형상을 맞춰주게 .. 2023. 2. 14.
[블록체인] 합의 알고리즘 이란? 블록체인에서 혹은 비트코인 관련 글을 읽으며 PoW 혹은 PoS 등으로 불리는 약어들을 보신적 있으실 겁니다. 이번 글에서는 PoW, PoS 라고 불리우는 합의 알고리즘에 대해서 먼저 살펴보도록 하겠습니다. 합의 알고리즘이란? 비트코인은 분산장부 입니다. 즉, 수개의 노드들에 장부의 데이터가 분산되어 저장되어 있습니다. 여기서 주의할 점은, 각 노드에 부분적으로 분산되어있는 예를들어 DB 의 샤딩 , 파티셔닝 처럼 나누어서 저장되어 있는 것이 아니라 실제로 모든 데이터를 모든 노드에 가지고 있는 형태입니다. 이러한 데이터들은 변화가 있을 때마다 각 노드마다 형상을 일치시켜줘야 합니다. 그렇지 않으면, 장부의 불일치가 생기기 때문입니다. 기존의 분산된 DB 도 데이터의 일관성을 유지 시켜주는 것이 주요한 .. 2023. 2. 12.