전체 글
-
[14장] 운영 클러스터 구축책/엘라스틱_스택_개발부터_운영까지 2022. 5. 7. 20:12
복수의 노드로 클러스터를 구성하고 충분한 하드웨어를 할당할 필요가 있음 운영 클러스터 고려사항 충분한 하드웨어 확보 클러스터링과 분산, 병령 처리 개념을 이해해 노드를 구성할 필요 최소 3개의 마스터 노드 구성 => 스플릿 브레인 없이 서비스가 지속되게 하기 위한 최소한의 구성 데이터 노드를 최소 두 대 이상 확보 메모리: 가장 이상적인 메모리 64GB CPU: 단일 코의 성능 높은 CPU 보단 더 많은 코어 수를 권장 디스크: SSD 권장(하드 디스크를 사용할 경우 RPM이 빠른 제품 선택) => 네트워크 저장소 피하고, 최대한 빠른 디스크 성능 선택 하드웨어 통일: 성능을 통일하는 것이 중요 스냅샷 처리: 모든 노드에서 접근 가능하도록 네트워크 공유 드라이브 구성이 필요 노드 elasticsearch..
-
kafka streams개발/Kafka 2022. 5. 1. 16:01
카프카 스트림즈 토픽에 적재된 데이터를 상태기반 또는 비상태기반으로 실시간 변환하여 다른 토픽에 적재하는 라이브러리 카프카에서 공식 지원하는 라이브러리, 완벽하게 호환. 편리한 기능 제공 장애가 발생하더라도 정확히 한번 처리할 수 있도록 장애허용시스템을 제공 JVM에서 하나의 프로세스로 실행되기 때문에 분산시스템이나 스케줄링 불필요 내부적으로 스레드 1개이상 생성가능. 스레드는 1개 이상의 태스크를 가짐 태스크: 스트림즈 애플리케이션을 실행하면 생기는 데이터 처리 최소 단위 토폴로지: 2개 이상의 노드들과 선으로 이루어진 집합 ring, tree, star 등이 있는데 스트림즈에서는 tree 형태의 토폴로지와 유사 프로세서: 토폴로지를 이루는 노드 각각 소스 프로세서: 데이터를 처리하기 위해 최초로 선언..
-
kafka 배경 및 용어정리개발/Kafka 2022. 5. 1. 14:59
카프카 배경 데이터 파이프라인의 파편화를 개선 한 곳에 모아 처리할 수 있도록 중앙집중화 데이터 스트림을 한 곳에서 실시간 관리 실시간 스트림 소비 소스 애플리케이션과 타킷 애플리케이션 사이의 의존도를 최소화 큐 자료구조와 비슷하나 소비되고 삭제되지 않음 상용에서는 최소 3대이상의 서버(브로커)에서 분산 운영 지속적 복제 낮은 지연과 높은 데이터 처리량 엄청난 양의 데이터를 안전하고 빠르게 처리 특징 높은 처리량 묶음 단위 처리 병렬 처리 확장성 안정적 확장 가능 영속성 파일 시스템에 저장 페이지 캐시 영역을 메모리와 따로 생성하여 사용 → 메모리 크기의 의존성이 줄어듦, 파일 입출력 속도 줄어듦 고가용성 replication 카프카 용어 브로커 9092 클라이언트와 데이터를 주고받기 위해 사용하는 주체..
-
[13장] 클러스터와 노드 구성책/엘라스틱_스택_개발부터_운영까지 2022. 5. 1. 14:56
클러스터 구성 방법 노드 클러스터 동작 원리 http계층, 전송계층 마스터 노드, 데이터 노드, 인제스터 노드 클러스터 백업 방법 샤드, 샤드 할당 과정, 모니터링, 샤드의 크기와 갯수 구성 클러스터, 노드, 인덱스 설정방법 개념 설명 클러스터: 여러 대의 컴퓨터를 병렬로 연결해 하나의 시스템을 구성하는 것 고가용성, 시스템 성능 향상 분산처리 여러 노드의 집합 노드: 클러스터를 구성하는 요소 엘라스틱서치 클러스터를 구성하는 하나의 인스턴스 데이터 저장 및 인덱싱과 검색에 사용 노드 이름이 중복되면 안 됨 하나의 노드가 여러 역할 가능 하드웨어의 영향을 많이 받음 http 모듈 api 형태로 제공, 외부 클라이언트 앱과 통신시 사용 9200번대 포트 사용 전송 모듈 클러스터 내부 모듈 간의 통신에 사용 ..
-
[5장] 엘라스틱서치 집계책/엘라스틱_스택_개발부터_운영까지 2022. 3. 23. 08:23
엘라스틱서치 집계 메트릭 집계, 버킷 집계, 파이프라인 집계 메트릭 집계: 통계나 계산에 사용 버킷 집계: 도큐먼트를 그룹핑 하는데 사용 size:0 설정하면 집계에 사용한 도큐먼트를 결과에 포함하지 않아 비용이 절감됨 메트릭 집계 최소/최대/합계/평군/중간값 같은 통계 결과를 보여줌 메트릭 집계 종류 평균값(avg) 최솟값(min) 최댓값(max) 총합(sum) 백분윗값(percentile) min/max/sum/avg/count(stats) 유니크 갯수(cardinality) 위치 정보 중심점(geo-centroid) 유니크 값 계산 precision_threshold는 높을 수록 정확도가 올라가지만 리소스를 많이 사용함 실제 결과보다 크게 설정해야함 기본값은 3000, 최대 40000까지 설정가능 ..
-
AWS 서비스개발/키워드 2022. 3. 10. 21:28
EC2 Amazon Elastic Compute Cloud 애플리케이션을 배포, 관리 및 확장하는데 도움이 되는 추가 기능을 제공. 위치는 리전과 가용 영역(각 리전에 있는 격리 영역)으로 구성. 인스턴스 사이즈: https://aws.amazon.com/ko/ec2/instance-types/ AutoScaling: 애플리케이션을 모니터링하고 용량을 자동으로 조정. AMI(Amazon Machine Image): 인스턴스를 시작하는데 필요한 정보를 제공. 실행환경 구성 및 엑세스 관리 등. EBS(Elastic Block Store): 확장가능한 고성능 블록 스토리지 서비스로 EC2용으로 설계됨. 리소스 태깅: 용도, 소유자 또는 환경 등을 기준으로 AWS 리소스를 다양한 방식으로 구분가능. 보안그룹:..
-
[4장] 엘라스틱서치 검색책/엘라스틱_스택_개발부터_운영까지 2022. 3. 9. 12:28
내용정리 쿼리 컨텍스트 & 필터 컨텍스트 쿼리 컨텍스트: 유사도를 계산해 결과를 보여줌 포함여부를 찾을 때 결과를 제공 필터 컨텍스트: 유사도를 계산하지 않고 일치여부에 대한 결과를 보여줌 정확하게 일치 여부를 찾을 때 예/아니오의 결과를 제공 스코어 계산하지 않음 => 쿼리 속도 빠름 결과 캐시 사용가능 엘라스틱서치는 힙 메모리의 10%를 캐시로 사용 쿼리 스트링 & 쿼리 DSL 쿼리 스트링 한 줄 정도의 간단한 쿼리 쿼리 DSL 한 줄에 넣기 힘든 복잡한 쿼리 JSON기반 해당 용어가 포함된 도큐먼트를 반환 유사도 스코어 BM25 알고리즘 기반 스코어가 높을 수록 찾으려는 도큐먼트에 가까움 TF(Term Frequency), IDF(Inverse Document Frequency) 검색에 문서가 얼마..
-
[3장] 엘라스틱 서치 기본책/엘라스틱_스택_개발부터_운영까지 2022. 2. 28. 22:03
내용정리 인덱스와 도큐먼트 인덱스: 도큐먼트를 저장하는 논리적 구분자 도큐먼트: 실제 데이터를 저장하는 단위 클러스터----(n)인덱스----(n)도큐먼트----(n)필드 MySQL 엘라스틱서치 테이블 인덱스 레코드 도큐먼트 컬럼 필드 스키마 매핑 동일한 인덱스에 있는 도큐먼트는 동일한 스키마 도큐먼트는 반드시 하나의 인덱스에 포함되어야 함 도큐먼트 수정, 삭제는 비용이 많이 든다 벌크 데이터 bulk API는 읽기는 지원하지 않음(생성,삭제,수정만 지원) ndjson 형식을 사용(라인이나 쉼표 주의, json과 문법 다름 -> json 형태로 포맷팅하면 작동하지 않음) 매핑 다이나믹 매팽 명시적 매핑 저장할 데이터를 확실히 안다면 명시적 매핑이 좋음 이미 정의된 필드를 수정하거나 삭제할 수 없음(주의할..