Programming 131

[Youtube] 넷플릭스 마이크로 서비스 가이드 3-2

유투브 출처 : 넷플릭스 마이크로 서비스 가이드 - 혼돈의 제왕 강의 순서 1. Introductions 00:00~5:38 2. Microservice Basics 05:39~13:18 3. Challenges & Solutions 13:19 ~ 43:33 1) Dependency 13:19 ~ 25: 02 2) Scale 25:03 ~ 33:33 3) Varience 33:34 ~ 43:33 4) Chagne 43:33~ 45:45 4. Organization & Architecture 46:46~53:13 3. Challenges & Solutions 지난 7년간 넷플릭스의 해법과 해법 철학으로 4가지 접근방법이 있다. . 1) Dependency 2) Scale 3) Variance, 다양한 아키..

Programming/Server 2020.04.16

[python] 기초 개념

파이썬 프로그래밍 언어 1 ) 개요 1990년, 귀도 반 로썸(Guido val Rossum)이 개발한 대화형 프로그램이 언어 다양한 OS 환경에서 사용가능(윈도우, 매킨토시, 유닉스, 리눅스) 파이썬 언어 버전 버전 2 : 2020년까지 지원예정 버전 3 : 현재버전 버전 2와 버전 3의 문법이 다름 2) 장단점 장점 쉬운 문법, 직관적인 코드, 간단한 프로그램 풍부한 라이브러리 짧은 개발기간 초보자에게 적합한 프로그래밍 언어 단점 느린 속도, 인터프리터 언어의 특징 모바일 프로그램, 하드웨어 제어 등에 취약 3) 파이썬 IDLE IDLE(Integrated Development and Learning Environment 약어) Python 프로그램을 배우거나 개발하기 위한 통합된 환경을 제공하는 시..

Programming/Python 2020.04.15

[kafka] 고가용성 리플리케이션

카프카는 분산 시스템으로 서버의 물리적 장애가 발생하더라도 높은 가용성을 보장하기위해 리플리케이션 기능을 제공한다. 리플리케이션(복제)는 토픽 자체를 복제하는 것이 아닌 토픽을 이루는 Partition 자체를 복제하는 것을 의미한다. 1. 리플리케이션 팩터 (Replication Factor) 카프카는 Replication Factor 옵션으로 몇개를 복제할 것이지 설정 가능 기본값은 1 config/server/properties 파일에서 default.replication.factor 의 값을 수정 topic 마다 replication facotr 값을 줄 수 있음 운영중에도 변경 가능 클러스터내에 모든 broker 동일하게 설정 2. 리더(leader), 팔로워(follower) 리더는 모든 읽기 ..

Programming/Kafka 2020.04.15

[kafka] 데이터 모델 토픽 파티션 오프셋

카프카가 고성능, 고가용성 메시징 어플리케이션으로 발전한 데는 토픽과 파티션의 역할이 컸다. 토픽은 메세지를 받을수 있도록 논리적으로 묶은 개념이고, 파티션은 토픽을 구성한는 데이터 저장소를 의미한다. 이에 대해 자세히 알아보자 1. 토픽 카프카 클러스터가 데이터를 저장할 때 토픽이라 불리는 곳에 저장함 메일시스템의 메일주소값과 같은 의미 영문, 숫자, '.', '_', '-'의 자유로운 조합으로 249자 미만으로 네이밍 접두어로 서비스명을 추가하여 구분 2. 파티션 토픽을 구성하는 데이터 저장소로 수평 확장 가능 큐시스템의 제약 조건으로 메시지 순서 보장 (이전 메시지가 처리 완료되어야 다음메시지 처리) 효율적 사용을 위해선 토픽의 파티션수가 많으면 좋지만, 무조건 늘리는 것은 아님. 파티션은 각 브로..

Programming/Kafka 2020.04.14

[Youtube] 넷플릭스 마이크로 서비스 가이드 3-1

유투브 출처 : 넷플릭스 마이크로 서비스 가이드 - 혼돈의 제왕 강의 순서 1. Introductions 00:00~5:38 2. Microservice Basics 05:39~13:18 3. Challenges & Solutions 13:19 ~ 43:33 1) Dependency 13:19 ~ 25: 02 2) Scale 25:03 ~ 33:33 3) Varience 33:34 ~ 43:33 4) Chagne 43:33~ 45:45 4. Organization & Architecture 46:46~53:13 3. Challenges & Solutions 지난 7년간 넷플릭스의 해법과 해법 철학으로 4가지 접근방법이 있다. . 1) Dependency 2) Scale 3) Variance, 다양한 아키..

Programming/Server 2020.04.14

[kafka] 카프카 디자인

카프카는 높은 처리량과 빠른 메세지 전송 운영 효율화를 위해 분산 시스템, 페이지 캐시, 배치 전송처리 기능으로 구현되어 있다. 각각의 기능의 특징을 알아보자. 1. 분산시스템 네트워크의 그룹으로 이루어진 컴퓨터들의 그룹을 의미하는 분산 시스템은 단일시스템보다 더 높은 성능을 얻을 수 있음. 하나의 서버에 장애가 발생하여도 다른노드가 대신 처리하면 됨 시스템 확장에 용이함. 2. 페이지 캐시 카산드라의 처리량을 높이기 위해 도입. o/s 의 잔여 메모리를 이용해 디스크가 아닌 페이지 캐시를 활용하여 읽고 쓰는 활동함. 이러한 특징은 디스크 SATA에서도 카프카 구동이 가능 하지만 페이지를 서로 공유 해야하기 때문에 하나의 시스템에 카프카를 다른 어프리케이션과 함께 실행하는 것을 권장하지 않음. 카프카는 ..

Programming/Kafka 2020.04.13

[kafka] 카프카 주키퍼

1. 주키퍼 (Zookeeper) 주키퍼란? 주키퍼는 분산 애플리케이션을 위한 코디네이션 시스템 분산 애플리케이션이 안정적인 서비스를 할 수 있도록 분산되어 각 애플리케이션의 정보를 중앙에 집중하고 구성관리, 그룹 관리 네이밍, 동기화 등의 서비스를 제공. 프로그램하기 쉽고 파일 시스템의 친숙한 디렉토리 트리 구조에 따라 스타일이 지정된 데이터 모델을 사용하도록 설계 주키퍼 구현은 고성능, 고 가용성을 보장 서비스를 구성하는 모든 서버는 서로를 모두 알고 있어야 하며, 영구 저장소의 트랜잭션 로그 및 스냅 샵과 함께 메모리 내 상태 이미지를 유지 관리. 지노드(znode) 서로 연결되어 있는 서버들은 상태 정보등을 주고 받음. 상태 정보들은 주키퍼의 지노드(znode)라 불리는 곳에 키-값(key-val..

Programming/Kafka 2020.04.12

[Youtube] 넷플릭스 마이크로 서비스 가이드 1,2

유투브 출처 : 넷플릭스 마이크로 서비스 가이드 - 혼돈의 제왕 강의 순서 1. Introductions 00:00 - 5:38 2. Microservice Basics 05:39 - 13:18 3. Challenges & Solutions 13:19 ~ 43:33 1) Dependency 13:19 ~ 25: 02 2) Scale 25:03 ~ 33:33 3) Varience 33:34 ~ 43:33 4) Chagne 43:33~ 45:45 4. Organization & Architecture 45:46 - 53:13 1. Introduction 넷플릭스 개요 인터넷 TV 서비스, 할리우드나 인디 또는 지역의 컨텐츠를 계약해서 공급 직접 만드는 오리지널 컨텐츠의 양도 굉장히 많아지고 있다. 오늘날 약..

Programming/Server 2020.04.12