DataOps40 [Elasticsearch] 2. 엘라스틱서치 기본 동작과 구조 기본 실습 1. 문서 색인 PUT POST 2. 문서 조회 GET 3. 문서 업데이트 POST _version, _seq_no 그대로임 4. 문서 검색 GET { "query":{ "match": { "stock": "3" } } } w전용 DSL(domain specific languag) 을 제공 GET, POST 둘 다 제공하는데, 각 상황 철학에 맞는 엔드포인트 사용하면됨 문서를 분석해서 역색인을 만들고 검색어 분석해서 유사도 높은 문서를 찾는다 문서가 복수 검색됨 _score 에서 유사도 점수 확인 가능 5. 문서 삭제 DELETE result 가 deleted 로 온다 2024. 1. 26. [Elasticsearch] 1. 엘라스틱 서치란? 역사 2010년 2월 샤이 배논이 아파치의 루씬 라이브러리를 기반으로 만든 분산 검색 엔진 → 루씬은 중요한 역할을 하니 기억할 것 2012년에 설립한 엘라스틱에서 관리 2013년 키바나, 로그스태시가 엘라스틱에 합류 2015년 비츠가 합류하면서 엘라스택 스택 완성 소개 검색 엔진 분야에서 가장 각광받고 있는 시스템 분산 처리나 고가용성, 수평적 확장성 등 엔터프라이즈 영역에 필요한 주요 기능을 제공 데이터 수집부터 시각화를 위한 플랫폼 구축까지 한번에 소화할 수 있어 인기가 많음 JSON 기반 문서 자정, 색인 NoSQL 스토리지 성격도 가지고 있음 주요 개념 루씬 데이터를 색인하고 검색 기능을 제공하는 검색 엔진의 코어 라이브러리 엘라스틱 서치는 루씬을 코어로 이용해 JSON 문서 저장, 색인, 검색.. 2024. 1. 26. SLASH 23 - 실시간 시세 데이터 안전하고 빠르게 처리하기 (Redis Pub/Sub) TR;DR - Kafka 대신 Redis pub/sub 사용함 (카프카가 지연시간 길었음) 2023. 10. 10. Slash2023 - 토스ㅣSLASH 23 - Kafka 이중화로 다양한 장애 상황 완벽 대처하기 TL;DR 카프카는 토스에서 핵심 기술로 사용되고 있음(금융 관련 정보 제공, 모든 로그 수집, CDC) 쿼리만으로 실시간 프로세싱이 가능한 ksqlDB 사용 중 Active-Active 로 IDC 이중화하여 DR 시스템 구축 Kafka Connect + Offset Sync로 Kafka 이중화 구성 많은 부분을 자동화해서 사용 중이다 (이중화 토픽들 자동 생성) 카프카로 입수하는 정보 서비스 간 비동기 통신 클라이언트, 서버 네트워크 보안 장비 시스템 로그 서비스 데이터로그 CDC 안정적인 카프카 운영 방법 1. 장애 발생 징후 미리 감지 2.장애 발생 시 대응 시나리오 잘 갖추기 장애 종류 1. 카프카 클러스터 내 일부 노드 장애 -> 카프카는 분산 시스템이라 가용성 해치지 않고 서비스 유지됨, 극복.. 2023. 10. 10. [if(kakao)2022] 카프카, 대규모 클러스터 운영 후기 정리 TL;DR - 카카오 카프카 클러스터는 초당 1,800만 건 메시지를 처리한다. - 주키퍼는 홀수 구성하는 게 좋고 5대 구성하는 것이 좋다. - Non-Raid 를 사용해 디스크 독립 구성을 한다. - 기본적으로 토픽 리텐션은 3일(주말 대비), 토픽 별로 따로 관리하는 경우도 있다. - 소량의 메시지 소실을 감안하고 빠른 장애 복구를 최우선으로 클러스터를 구성한다. - 메트릭 정보는 프로메테우스에 저장해 그라파나로 시각화한다. - 로그는 파일피트로 수집 후 나이파이로 재처리 후 엘라스틱서치로 저장 후 키바나로 시각화한다. - Kraft Mode 도입을 아직, 4.x부터 도입 예정. - 2018년 처음 클러스터 소개 - 데이터 흐름을 모아주는 실시간 분산 스트리밍 플랫폼 - 전체 1.5조 메시지 - 초.. 2023. 9. 29. [카프카] Rebalancing Rebalancing? 컨슈머 그룹에 속한 컨슈머들은 특정 파티션에 대한 소유권을 갖고 있음. (중복 소유x) 따라서 컨슈머에 변동이 있거나, 파티션에 변동이 있으면 이 소유권을 재조정하는데 이 과정이 Rebalancing. 과정 2023. 9. 6. [Kafka] UI Tools 분석글 공유 카프카 클러스터를 운영하려면 적절한 UI 모니터링 도구가 필요하다. 좋은 비교자료가 있어 공유한다. UI for Apache kafka가 가장 좋은 선택지인 것으로 보인다. https://devocean.sk.com/blog/techBoardDetail.do?ID=163980 2023. 3. 13. [Kafka] 카프카란? Kafka?링크드인 사내 프로그램에서 출발하여 정식 Apache 오픈소스로 등록된 분산 이벤트 스트리밍 플랫폼Architecture간단히 알아보기이름 설명주키퍼(ZooKeeper)카프카의 메타데이터(metadata) 관리 및 브로커의 정상상태 점검(health check)을 담당합니다.카프카(Kafka) 또는 카프카 클러스터(Kafka cluster)아파치 프로젝트 애플리케이션 이름입니다. 여러 대의 브로커를 구성한 클러스터를 의미합니다.브로커(broker)카프카 애플리케이션이 설치된 서버 또는 노드를 말합니다.프로듀서(producer)카프카로 메시지를 보내는 역할을 하는 클라이언트를 총칭합니다.컨슈머(consumer)카프카에서 메시지를 꺼내가는 역할을 하는 클라이언트를 총칭합니다.토픽(topic)카프카.. 2023. 3. 10. [Kafka] 토픽 Naming Convention 고민 TL;DR https://cnr.sh/essays/how-paint-bike-shed-kafka-topic-naming-conventions 을 참고한 글입니다. [namespace]-[application name]-[topic type]-[version numbers] 조합을 추천합니다. 개요 카프카 클러스터를 운영하다보면 수많은 토픽을 생성하게 된다. 토픽 이름은 변경할 수 없기 때문에 카프카 도입을 고려하고 있다면 Naming Convention에 대한 고민을 먼저 해보는 것이 좋다. 주의 1. 토픽 이름은 한번 지정하면 바꿀 수 없다 토픽 이름은 변경 불가능한 값이다. 즉 한번 컨벤션을 정하면 수정하기 어렵다. 카프카를 운영하면서 다양한 케이스의 토픽을 생성하게 될 것임으로 최대한 범용적인 이름.. 2023. 3. 9. [KSR] 카프라 스키마 레지스트리(Kafka Schema Registry) 란? Kafka Schema Registry?Kafak 클러스터를 통해 전달되는 데이터 스키마를 관리하는 독립적인 애플리케이션Confluent Server 를 사용하는 경우 Enterprise License 이며, 그렇지 않으면 Community License이다. https://docs.confluent.io/platform/current/installation/license.html#community-license구조 프로듀서컨슈머스키마 레지스트리카프카 클러스터장점1. 시스템 장애 방지기본적으로 카프카 메시지 형태에는 강제성이 없다.무슨 말이냐면 위 A형태의 메시지를 보내다가 갑자기 B형태로 보내는 것이 가능하다는 말이다.소수의 사용자만 카프카 토픽을 소비한다면 큰 문제가 아닐 수 있다. 문제는 실제 카프.. 2023. 3. 9. 이전 1 2 3 4 다음