[Spring Cloud] 데이터 동기화

jsieon97·2023년 3월 17일
0

OrderService 2개 기동

  • Users의 요청 분산 처리
  • Orders 데이터도 분산 저장 -> 동기화 문제

    두 가지 포트로 분리된 서비스의 H2DB에 같은 유저의 주문 5번이 나뉘어서 저장된다.

해결 방법

  • 하나의 Database 사용
  • Database 간의 동기화 (Kafka Connector)
  • 위 두 가지 방법을 모두 사용 Kafka Connector + DB

Apache Kafka

  • Scalar 언어로 된 오픈 소스 메시지 브로커 프로젝트
  • 링크드인에서 개발, 2011년 오픈 소스 화
  • 실시간 데이터 피드를 관리하기 위해 통일된 높은 처리량, 낮은 지연 시간을 지닌 플랫폼 제공
  • Apple, Netflix, Shopify, Yelp, Kakao, New York Times 등 다양한 기업이 사용
  • End-to-End 연결 방식의 아키텍처
  • 데이터 연동의 복잡성 증가 (HW, 운영체제, 장애 등)
  • 서로 다른 데이터 Pipeline 연결 구조
  • 확장이 어려운 구조

모든 시스템으로 데이터를 실시간으로 전송하여 처리할 수 있는 시스템
데이터가 많아지더라도 확장이 용이한 시스템

데이터 흐름

Kafka Broker

  • 실행 된 kafka 어플리케이션 서버
  • 3대 이상의 Broker Cluster 구성
  • Zookeeper 연동
    • 역할 : 메타데이터 (Broker ID, Controller ID 등) 저장
    • Controller 정보 저장
  • n개 Broker 중 1대는 Controller 기능 수행
    • Controller 역할
      • 각 Broker에게 담당 파티션 할당 수행
      • Broker 정상 동작 모니터링 관리
profile
개발자로써 성장하는 방법

0개의 댓글