본문 바로가기

분류 전체보기135

Flink DataSources 정의 및 구성 요소 목차 LIST  DataSources?Flink에서 datasources란 소싱하는 데이터를 의미하며, Data Ingestion이라고 합니다.Flink application은 하나 또는 그 이상의 데이터소스를 소싱합니다. 데이터 소스는 파일 시스템 상의 파일, 카프카의 토픽 또는 여러가지 데이터 스트림이 될 수 있습니다.     핵심 3가지 요소Split소스로부터 데이터를 컨슈밍하는 단위입니다. 예를 들면 파일이나, 로그 파티션이 될 수 있습니다.Splits은 SourceReader가 작업을 분배하고 데이터를 병렬로 읽는 단위입니다.SourceReaderSourceReader는 Splits를 요청하고 그것들을 처리합니다. 예를 들면, split으로 나누어진 파일이나 로그 파티션을 읽습니다.SourceR.. 2024. 5. 20.
Dataflow Windowing : watermark 목차 LIST Dataflow WindowingDataflow Windowing은 스트리밍 데이터를 다룰 때 사용하는 핵심 데이터플로우 전략 중 하나입니다. 스트리밍 데이터를 다루기 위한 시스템적인 접근을 제공하는데, 특정 chunk 단위나 windows로 나누는 방법입니다. 1. Dividing the Stream info finite Windows스트리밍 데이터를 유한한 윈도우로 쪼개는 방식입니다. 스트리밍 시나리오에서 데이터는 특정 시간 범위나 윈도우로 나눕니다.예를 들어, 주어진 시간 범위 내에서 평균을 구하고자 할 때 사용할 수 있습니다.  특히 대량의 데이터를 다룰 때 이렇게 윈도우를 사용하는 것은 쉽지 않을 수 있습니다. 하지만 데이터플로우는 이 과정을 더 단순화할 수 있습니다. 메시지를 .. 2024. 5. 17.
Git Flow vs Github Flow : 브랜치 전략 목차 LIST  새로운 프로젝트를 시작할 때, 브랜치 전략으로 Git Flow와 Github Flow를 자주 접하게 되는데요. 두 전략의 차이에 대해 알아보겠습니다. Git FlowGit Flow 브랜치 전략은 총 5개의 브랜치로 나누어집니다. main (or master) - 현재 릴리즈된 코드의 저장소이며, Production에 나가는 버전과 일치해야 합니다.develop - main 브랜치를 따서, 릴리즈 이후에 발생한 추가적인 변경 사항을 반영합니다.feature - develop 브랜치를 따서, 새로운 기능을 개발하기 위한 feature 브랜치를 생성합니다. main이나 develop과 달리 feature라는 단일 브랜치가 있는 것은 아니고, 변경 사항마다 생성합니다.예를 들면, bug/Stac.. 2024. 5. 3.
ssh-keygen에 대해 알아보자 목차 LIST   개요업무하면서 종종 ssh-keygen을 사용할 일이 있었는데, 정확히 이해하지 않고 그냥 사용하다가 한 번은 정리해야 할 것 같아서 글 작성합니다. 서버 간에 SSH 통신을 위해 SSH 키 기반 인증을 사용합니다. 이 방법을 사용하면 비밀번호를 사용하는 것보다 안전하며, 자동화된 스크립트를 실행할 때 유용합니다. SSH 키 생성 및 설정1. 키 생성 : 로컬 서버에서 SSH 키를 생성합니다. 일반적으로 RSA 키를 사용하지만, 최근에는 보안성이 강화된 Ed25519 키 사용을 권장합니다. 공개 키와 비밀 키로 구성된 SSH 키 쌍이 생성됩니다.# RSAssh-keygen -t rsa -b 4096# Ed25519ssh-keygen -t ed25519 2. 공개 키 복사 : 위에서 생성.. 2024. 4. 25.
NGINX TCP / UDP Load Balancing NGINX를 사용해서 TCP / UDP 트래픽을 프록시하고 로드 밸런싱하는 방법에 대해 설명합니다. 소개 로드 밸런싱은 네트워크 트래픽을 여러 백엔드 서버에 효율적으로 분산하는 것을 말합니다. Prerequisities '--with-stream' 를 포함하여 빌드된 NGINX Reverse Proxy 구성 먼저, NGINX가 클라이언트의 TCP / UDP 를 프록시된 서버로 전달할 수 있도록 리버스 프록시를 구성해야 합니다. proxy_pass에는 서버가 트래픽을 전달할 proxy된 서버나 upstream 그룹을 지정합니다. stream { server { listen 12345; #TCP traffic will be forwarded to the "stream_backend" upstream grou.. 2024. 4. 17.
Apache Spark : Join strategy 목차 LIST Join operation은 스파크에서 가장 대중적으로 사용되는 transformation이다. 스파크는 join을 어떻게 구현할지 선택하기 위한 몇가지 알고리즘을 사용한다. 이 알고리즘들은 스파크가 작업을 어떻게 처리할지 결정하는 단계에서 사용된다. 아래에서 스파크가 조인을 사용하기 위한 전략을 결정하는지 알아보자. Spark Join 전략의 요소들 Data Size Spark는 비용이 많이 드는 셔플과 정렬을 피할 수 있는 join 전략을 선택한다. 따라서, 데이터가 브로드캐스트 될 수 있다면 해시 기반 join 전략을 더 선호한다. 셔플 (shuffle)? Apache Spark에서 shuffle은 데이터를 재분배하는 과정을 의미합니다. shuffle은 특정 작업을 수행하기 위해 다른.. 2024. 3. 21.
반응형