반응형

Kafka 6

[이벤트 기반 마이크로서비스 구축] Chapter8 마이크로서비스 워크플로 구축 - 미쉐린은 오케스트레이션을 버렸고, Netflix는 오케스트레이션을 만들었다

Chapter8 마이크로서비스 워크플로 구축워크플로(작업 흐름/절차)란 논리적 분기, 보상 액션 등 비즈니스 프로세스를 구성하는 특정한 작업을 지칭한다. 워크플로 구성할 때 고려해야 하는 항목 워크플로 생성 및 수정워크플로 내부의 서비스들은 어떻게 서로 연관되는가?기존 워크플로를 수정할 때 다음과 같은 일들이 생기지 않도록 하려면 어떻게 해야 하나?이미 진행 중인 작업을 중단시킨다.여러 마이크로서비스를 변경해야 한다.모니터링과 가시성이 깨진다워크플로 모니터링어떤 이벤트에 대해 워크플로가 언제 완료됐는지 어떻게 알 수 있나?이벤트 처리 도중 실패하거나 워크플로 어딘가에서 막혔는지 여부를 어떻게 판단할까?워크플로의 전체 상태는 어떻게 모니터링할 것인가?분산 트랜잭션 구현대부분의 워크플로는 여러 액션이 함께 ..

스터디 2026.02.20

[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 4장.분산 메시지 큐 - 1단계, 2단계

1단계 : 문제 이해 및 설계 범위 확정 기능 요구사항생산자는 메시지 큐에 메시지를 보낼 수 있어야 한다. 소비자는 메시지 큐를 통해 메시지를 수신할 수 있어야 한다. 메시지는 반복적으로 수신할 수도 있어야 하고, 단 한번 만 수신하도록 설정될 수 도 있어야 한다. 오래된 이력 데이터는 삭제될 수 있다.메시지 크기는 킬로바이트 수준이다. 메시지가 생산된 순서대로 소비자에게 전달할 수 있어야 한다. 메시지 전달 방식은 최소 한번, 최대 한 번, 정확히 한 번 가운데 설정할 수 있어야 한다. 비기능 요구사항 높은 대역폭과 낮은 전송 지연 가운데 하나를 설정으로 선택 가능하게 하는 기능규모 확장성. 이 시스템은 특성상 분산 시스템일 수 밖에 없다. 메시지 양이 급증해도 처리 가능해야 한다. 지속성 및 내구성..

[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 3장.구글맵 - 3단계 : 상세 설계, 4단계 : 요약

3단계 : 상세 설계 데이터 모델[ 경로 안내 타일 ]도로 데이터는 수 테라바이트에 해당한다. 주어진 상태 그대로는 경로 안내 알고리즘의 입력으로 활용할 수 없으므로 경로 안내 타일 처리 서비스를 활용한다. 경로 안내 타일은 해상도에 따라 세 벌을 만든다. 어디에 저장해야 할까 ?그래프 데이터는 메로리에 인접 리스트 형태로 보관하는 것이 일반적이다. 하지만 본 설계안이 다루는 타일 데이터는 메로리에 두기에는 양이 너무 많다. 가장 효율적인 방법은 S3 같은 객체 저장소에 파일을 보관하고 그 파일을 이용한 경로 안내 서비스에서 캐싱하는 것이 바람직하다. 지오해시 기준으로 분류해두면 위도와 경도 주어졌을 때 신속하게 찾을 수 있다. [ 사용자 위치 데이터 ]사용자위 위치 데이터 저장하려면 엄청난 양의 쓰..

[kafka] Kafka Connect High-Level Overview + Cluster and Distributed Architecture

Kafka Connect High-Level Overview  1 Kafka Connector Source (클러스터에서 실행됨)는 외부 소스에서 데이터를 가져옵니다.2 Kafka Connector Source는 수집된 데이터를 Kafka 클러스터로 전송합니다 (이 단계에서 프로듀서 역할을 수행).3a. Kafka 클라이언트 애플리케이션(소비자로 작동)이 Kafka 클러스터에서 데이터를 읽습니다.3b. Kafka 클라이언트 애플리케이션(이제 프로듀서로 작동)이 처리된 데이터를 Kafka 클러스터로 다시 보냅니다.4 Kafka Connector Sink (클러스터에서 실행됨)는 Kafka 클러스터에서 데이터를 읽습니다 (이 단계에서 소비자 역할을 수행).5 Kafka Connector Sink는 읽은 데이..

개발/kafka 2025.01.03

[kafka] 토픽 생성 및 리스트 확인 + producer, consumer 메시지 전달 (mac m1)

1. kinaction_helloworld 토픽 만들기bin/kafka-topics.sh --create --bootstrap-server localhost:9094 --topic kinaction_helloword --partitions 3 --replication-factor 3   2. 토픽 확인하기 bin/kafka-topics.sh --list --bootstrap-server localhost:9094  3. 토픽 세부 정보 조회 bin/kafka-topics.sh --bootstrap-server localhost:9094 --describe --topic kinaction_helloword   4. kafka 프로듀서 콘솔 명령bin/kafka-console-producer.sh --boo..

개발/kafka 2024.12.14

[kafka] kafka, zookeeper, server 시작하기 (mac m1)

1. kafka 파일 다운로드 https://kafka.apache.org/quickstart Apache KafkaApache Kafka: A Distributed Streaming Platform.kafka.apache.org  2. 카프카 바이너리 압축 풀기tar -xzf kafka_2.13-3.9.0.tgzmv kafka_2.13-3.9.0 ~/cd ~/kafka_2.13-3.9.0export PATH=$PATH:~/kafka_2.13-3.9.0/bin  3. 주키퍼 서버 시작하기 cd ~/kafka_2.13-3.9.0bin/zookeeper-server-start.sh config/zookeeper.properties 4. 수동으로 클러스터 생성 및 구성cd ~/kafka_2.13-3.9.0cp..

개발/kafka 2024.12.14
반응형