3장 5

3장. 컨테이너를 다루는 표준 아키텍처, 쿠버네티스

컨테이너 인프라 환경 이란 리눅스 운영 체제의 커널 하나에서 여러 개의 컨테이너가 격리된 상태로 실행되는 인프라 환경을 말한다. 컨테이너는 하나 이상의 목적을 위해 독립적으로 작동하는 프로세스이다.3.1 쿠버네티스 이해하기실제로 쿠버네티스는 컨테이너 오케스트레이션을 위한 솔루션이다. 오케스트레이션(Orchestration)이란 복잡한 단계를 관리하고 요소들의 유기적인 관계를 미리 정의해 손쉽게 사용하도록 서비스를 제공하는 것을 의미한다. 다수의 컴테이너를 유기적으로 연결, 실행, 종료할 뿐만 아니라 상태를 추적하고 보존하는 등 컨테이너를 안정적으로 사용할 수 있게 만들어 주는 것이다. 컨테이너 오케스트레이션을 제공하는 솔루션들이 있다.도커 스웜메소스노매드쿠버네티스3.1.2 쿠버네티스 구성방법퍼블릭 클라우..

3장. 구글 맵 - 2편

3단계: 상세 설계1. 데이터모델1) 경로 안내 타일도로 데이터는 외부 사업자나 기관이 제공한 것으로, 방대한 양의 도로 및 메타데이터로 구성된다.가공되지 않은 데이터이므로, 경로 안내 알고리즘의 입력으로 활용할 수 없다.경로 안내 타일 처리 서비스라 불리는 오프라인 데이터 가공 파이프라인을 주기적으로 실행하여 경로 안내 타일로 변환한다. 경로 안내 타일 처리 서비스는 가공 결과로 만든 타일을 어디에 저장해야 할까?=> 일반적으로 그래프 데이터는 메모리에 인접 리스트 형태로 보관한다. 데이터 양이 방대하기 때문에 비용 등의 문제로 S3 같은 객체 저장소에 파일을 보관하고 파일을 이용할 경로 안내 서비스에 적극적으로 캐싱하는 방법이 효율적이다.타일을 객체 저장소에 보관할 때는 지오해시 기준으로 분류해 두는..

3장. 쿠버네티스 - 1편

※ 해당 내용은 도커 홈페이지 및 책 내용을 가져왔습니다. ※  3.1 쿠버네티스 이해하기내용 들어가기 전, 쿠버네티스라는 것이 왜 생겼는지 이해가 필요한 것 같다.1) 여정 돌아보기 전통적인 배포 시대: 초기 조직은 애플리케이션을 물리 서버에서 실행했었다. 한 물리 서버에서 여러 애플리케이션의 리소스 한계를 정의할 방법이 없었기에, 리소스 할당의 문제가 발생했다. 예를 들어 물리 서버 하나에서 여러 애플리케이션을 실행하면, 리소스 전부를 차지하는 애플리케이션 인스턴스가 있을 수 있고, 결과적으로는 다른 애플리케이션의 성능이 저하될 수 있었다. 이에 대한 해결책으로 서로 다른 여러 물리 서버에서 각 애플리케이션을 실행할 수도 있다. 그러나 이는 리소스가 충분히 활용되지 않는다는 점에서 확장 가능하지 않았..

3장. 구글 맵 - 1편

1단계: 설계 범위1) 기능 요구사항지원하는 단말은 모바일, 스마트폰이다.사용자 위치 갱신경로 안내 서비스(ETA 서비스 포함)지도 표시2) 비기능 요구사항정확도: 사용자에게 잘못된 경로를 안내하면 안 된다.부드러운 경로 표시: 경로 안내 용도의 지도는 부드럽게 표시되고 갱신되어야 한다.데이터 및 배터리 사용량: 클라이언트는 최소한의 데이터와 배터리를 사용해야한다.가용성 및 확장성3) 기본 개념 및 용어측위 시스템세계는 축을 중심으로 회전하는 구인데, 측위 시스템은 구 표면 상의 위치를 표현하는 체계이다.위경도 기반의 측위 시스템의 경우, 최상단에는 북근 최하단에는 남극이 있다. 위도(Latitude)는 주어진 위치가 얼마나 남쪽/북쪽인지를 나타낸다.경도(Longitude)는 얼마나 동쪽/서쪽인지를 나타..

3장. 시스템 설계 면접 공략법

시스템 설계 면접에서 "널리 알려진 제품 X를 설계해 보라"는 문제가 나온다. 이는 수천 명의 엔지니어들이 참여하여 개발한 제품을 한 시간 안에 설계할 수 없다.즉, 정말로 설계하라는 것이 아니라 모호한 문제를 풀기 위해 협력하여 해결책을 찾아내는 과정에 대한 시뮬레이션이다. 설계 기술을 시연하는 자리이고, 설계 과정에서 내린 결정들에 대한 방어 능력을 보이는 자리이다. 효과적 면접을 위한 4단계 접근법 1단계 문제 이해 및 설계 범위 확정 답부터 들이밀지 말고, 깊이 생각하며 질문하여 요구사항과 가정들을 분명히 해라. 면접관이 질문을 던지면 질문에 대한 답을 바로 내놓거나, 아니면 스스로 어떤 가정도록 주문할 것이다. 요구사항을 정확히 이해하는데 필요한 질문을 아래와 같이 하자. 구체적으로 어떤 기능을..