alpyrithm_알파이리즘

RudderStack Architecture 알아보기!! 본문

SM공부

RudderStack Architecture 알아보기!!

알파이 2020. 6. 19. 17:01

RudderStack

- The most secure customer data infrastructure solution

- Open-source for collecting, storing, and routing customer event data to your data warehouse

- 고객 이벤트 데이터를 수집, 저장, 데이터 웨어하우스로 라우팅 하는 오픈 소스

 

 

 

 

RudderStack Architecture

- database에만 의존하는 독립적인 시스템

- 주요 구성 요소 : Control Plane, Data Plane

  • Control Plane : 이벤트 데이터의 소스 및 목적지를 구성하는 UI(Tracking Event의 정보를 보여준다.)
    • Web App : 데이터 라우팅을 설정할 수 있는 프런트 엔드 응용 프로그램
    • Configuration Backend : 이벤트 데이터 소스, 목적지 및 연결을 구성하는 옵션을 제공
  • Data Plane : 핵심 엔진(Event 처리)
    • 이벤트 데이터 수신 및 버퍼링
    • 요구되는 목적지의 형식으로 변환
    • 목적지로 전송

+) Transformation(변환 모듈) : 수신된 이벤트 데이터를 목적지의 특정 형식으로 알맞게 변환한다.

 

 

 

 

 

 

 

RudderStack's Data Plane Architecture

- 변환된 이벤트 데이터를 수신, 변환, 목적지에서 요구되는 특정 형식으로 라우팅한다.

- web apps, Android/iOS devices에서 이벤트 데이터를 수신한다.

 

 

RudderStack Data Plane Architecture (참고 : https://docs.rudderstack.com/get-started/rudderstack-architecture)

 

- RudderStack Backend의 구성 요소

  • Gateway : 변환할 이벤트 데이터를 수신하고 전달한다.
    • 이벤트 요청을 승인하고 이벤트 데이터의 승인(HTTP 200 응답) 또는 거부에 따라 소스에 다시 승인을 보낸다.
    • 이벤트 데이터가 거절되는 경우 : Invalid JSON, Invalid write key, Improper Request size
    • 데이터의 수신이 성공하면 이벤트는 변환을 위해 전달된다.
    • 성공적인 수신 확인을 보내기 전에 수신된 모든 이벤트 데이터를 PostgreSQL에 임시로 저장한다.
    • 이벤트 데이터가 변환되어 목적지로 전송되면, Processor에 의해 데이터베이스에 저장된 데이터가 삭제된다.
  • Processor : Gateway에서 데이터를 가져와서 변환 모듈로 전달한다.
    • 이벤트 데이터가 변환되면, 변환된 데이터를 요구되는 목적지로 보낼 수 있도록 Router로 전달한다.
  • Router : Processor에서 수신한 처리하고 변환된 이벤트 데이터를 원하는 목적지(분석기/저장소)로 보낸다.

+) Transformation Module : Processor에서 이벤트 데이터를 가져와서 요구되는 목적지의 형식으로 이벤트 데이터를 변환한다. 그리고 변환된 이벤트 데이터를 Processor로 다시 전송하여, Router와 원하는 목적지로 전달할 수 있도록 한다.

 

 

 

 

 

 

 

 

 

 

The Backend Workflow 정리

  1. Client SDK는 이벤트를 Gateway로 보낸다.
  2. Gateway :
    1. 데이터베이스에 이벤트 데이터를 저장한다.(PostgreSQL)
    2. 데이터 수신을 확인하는 HTTP 200 상태를 보낸다.
  3. Processor는 Gateway에서 데이터를 선택하고 이벤트 데이터를 변환 모듈로 전달한다.
  4. 변환 모듈을 변환된 데이터를 Processor로 다시 보낸다.
  5. Processor는 변환된 데이터를 Router 데이터베이스에 저장하고 Gateway 데이터베이스에서 삭제한다.
  6. Router :
    1. 변환된 이벤트 데이터를 원하는 목적지로 전달
    2. 데이터베이스의 별도 테이블에 정보를 저장한다.
  7. 변환된 데이터가 목적지에 도달하면, Router 데이터베이스에서 이벤트 데이터가 삭제된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

참고 사이트 : https://docs.rudderstack.com/

 

Home

Technical documentation on using RudderStack to collect, route and manage your event data securely

docs.rudderstack.com

 

 

 

 

참고 용어

1. 라우터(router) : 패킷(데이터의 형식화된 블록으로 제어 정보와 사용자 데이터, 목적지 주소 등을 포함)의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치로 서로 다른 네트워크 간에 중계 역할을 한다.

  • 네트워크와 네트워크 간 데이터 전송을 위해 최적 경로를 설정해주며 데이터를 해당 경로를 따라 한 통신망에서 다른 통신망으로 통신할 수 있도록 도와주는 인터넷 접속 장비

2. 데이터 웨어하우스(data warehouse, DW) : 사용자의 의사 결정에 도움 주기 위하여, 기간 시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스

 

 

 

 

 

 

 

 

 

 

* 혹시 잘못된 내용이 있을 경우 편하게 알려주세요!(저도 완전 초보자입니다.)

728x90
반응형
Comments