본문 바로가기

Data9

[Kafka] 멱등성/At least once/At most once/Exactly once MSA(Micro Service Architecture)에서 EDD(Event Driven Development)를 기반으로 개발을 할 때 Kafka를 이벤트 브로커로 많이 사용하게 되고, 그와 더불어서 이슈가 되는 것이 멱등성에 관한 내용이다. 아래 글은 Kafka에서 멱등성과 관련된 내용을 다룬 것이다. 1. 멱등성(Idempotence) : 멱등성 : 동일한 요청이 여러 차례 반복되어 작업이 처리되어도 동일한 결과를 나타내는 특성 Kafka의 Producer와 Consumer가 Pull 방식으로 발생한 이벤트를 처리하는데, 여기서 Producer와 Consumer에서 메시지 유실 또는 메시지 중복 처리가 발생할 수 있고, 이는 멱등성을 보장하지 못한다. 2. At least once : at_lea.. 2023. 7. 1.
[Kafka] Kafka란? 1. Kafka : 아파치 카프카(Apache Kafka)는 LinkedIn에서 개발되었으며, Java 및 Scala 기반의 고용량 실시간 데이터 스트림에 특화된 분산 스트리밍 플랫폼이다. 카프카는 이벤트 브로커라고도 하며, Topic이라는 이벤트 스트리머를 통한 메시지 처리를 한다. 발생한 이벤트에 따라서 토픽에 메시지를 발행하고, 토픽을 구독하고 있는 소비자가 메시지를 소비함으로써 이벤트를 처리하여 해당 오프셋을 표시하고 파티션을 통한 분산저장을 통하여 안정성을 보장한다. 2. Kafka의 구성 요소 : Kafka의 구성은 크게 아래의 4가지로 볼 수 있다. 1. Zookeeper : 카프카 클러스터를 관리하고, 메타 데이터를 관리하는 역할을 수행한다. 2. Kafka Broker : 카프카 브로커로.. 2023. 4. 28.
[Search Engine] Meilisearch 1. Meilisearch란? Rust 기반으로 제작된 API 기반 오픈소스 검색엔진이다. https://www.meilisearch.com/ 프랑스 파리에서 설립된 스타트업 Meili에서 제작한 검색엔진이며 현재까지 1,500만 달러의 투자금을 유치하며 지속적으로 개발 중이다. 2. Support Language 공백을 기준으로 단어를 나누는 언어 (ex. English) - Default 중국어 일본어 히브리어 태국어 한국어 (Default -> 형태소 분석 적용 진행 중 - 2022.11.01) ※ 한국어는 현재 공백을 기준으로 단어를 토큰화하여 검색 (ex . 오늘은 월요일 입니다 -> [오늘은] [월요일] [입니다] | 오늘은월요일입니다 -> [오늘은월요일입니다]) ※ 형태소 분석 : 더 이상 .. 2022. 11. 1.