1.Kafka Connect 카프카와 외부시스템간에 데이터 이동을 쉽게 만들어주는 프레임워크 source-connector, sink-connectorkafka-> postgres, postgres-> kafka 데이터가 어떻게 흘러가는지 확인 이런구조는 CDC (change date capture) 패턴의 기본이라고 할수있다. *CDC: CDC(Change data capture)는 데이터 소스의 변경 사항을 추적하고 해당 변경 사항을 대상 시스템에 실시간으로 전달하는 데 사용되는 데이터 통합 기술입니다. 2.Kafka Connect 실습필요한 소프트웨어Docker 및 Docker Compose터미널 또는 명령 프롬프트텍스트 에디터 (VS Code 등)웹 브라우저 (Confluent Control C..

1.kafka connect 란?kafka와 다양한 외부시스템 (데이터 베이스,클라우드 스토리지, 검색엔진 등)을 쉽게 연결하는 프레임워크kafka 자체의 producer & consumer api를 직접 개발핮 ㅣ않고도, 데이터 스트리밍 파이프라인을 손쉽게 구축할 수 있도록 설계된 플러그인 기반 시스템Source Connector:외부 시스템 -> kafka 데이터 전송Sink Connector: kafka -> 외부시스템으로 데이터 저장 (s3, elasticsearch, hdfs) 2.kafka connect 주요특징Scalability (확장성)클러스터 기반 확장 지원 (Standalone vs. Distributed Mode)여러 Worker가 병렬로 데이터를 처리가능Fault Toleranc..
1. kafka-python vs confluent-kafka-python 기능kafka-pythonconfluent-kafka-python멱등성 프로듀서❌ 지원하지않음✅ 지원 (enable.idempotence)트랜잭션❌ 지원하지않음✅ 지원 (transactional.id)구현기반Pure Pythonlibrdkafka C 라이브러리 래퍼성능보통매우좋음 (네이티브 구현)API 스타일Python 스타일kafka 자바 클라이언트 유사 2.실습: Confluent Kafka Python 기능 테스트기본연결 테스트멱등성 프로듀서 테스트트랜잭션 테스트정확히 한 번 처리 (Exactly-Once Processing) 테스트 2-1. 기본 연결 테스트 코드 실행 2-1-1. 도커띄우기#시작docker-compos..
##컨슈머 그룹 오프셋 초기화#모든 파티션 오프셋을 0 (처음) 으로 재설정--reset-offsets --to-earliest --execute#가장 마지막 메시지 위치로 오프셋 이동--reset-offsets --to-latest --executeConsumer 기본 컨셉컨슈머 그룹 : 토픽 파티션을 분산 처리하는 컨슈머 집합토픽 파티션을 분산처리 같은 그룹 id를 가진 컨슈머들이 파티션을 나눠 처리하여 병렬성 확보, 일부 컨슈머가 실패하더라도 다른 컨슈머가 이어받아 고가용성을 제공오프셋 관리 : 메시지 소비 위치를 추적하는 핵심 메커니즘 각파티션마다 어디까지 메시지를 읽었는지 처리하여 중복처리없는 연속적인 메시지 처리 가능오프셋 커밋전략자동 커밋 : 간편하지만 중복 발생가능동기식 커밋 : 안전하지..

1.컨슈머 오프셋 관리 오프셋컨슈머가 어디까지 메시지를 읽었는지 기록하는 값컨슈머가 메시지를 읽은 후, 오프셋을 커밋하여 컨슈머 그룹에 알림poll()을 호출 할때, 카프카에 쓰여진 메시지중, 컨슈머 그룹에 속한 컨슈머들이 아직 읽지않은 레코드가 리턴됨. 오프셋 커밋파티션에서 현재위치를 업데이트 하는 작업파티션에서 성공적으로 처리해낸 마지막 메시지를 커밋하여, 그 전 메시지들 또한 성공적으로 처리되었음을 암묵적으로 알림 -> at least once 최소한번 전송 원칙 kafka 특수 토픽 _consumer_offsets 에 각 파티션별로, 커밋된 오프셋을 업데이트 하도록 메시지를 전송함. 오프셋 커밋방식Auto Commit 자동으로 오프셋을 커밋하는 방식빠르지만 중복 메시지 발생 가능enalbe.au..

1.프로듀서 파티서닝 전략왜 파티션이 중요한가? 병령 처리및 데이터 확장성을 확보파티셔닝 방식방식특징장점단점Round-Robbin-Partitioning순차적으로 분배 균등한 부하분산작은 메시지 배치로 성능 저하가능Key-Based-Partitioning같은키에 같은 파티션 저장순서 보장 가능 특정 키가 몰리면 Hot Partition 문제 발생Sticky-Partitioning특정 파티션에 메시지 최대한 모아배치 전송성능 최적화, 네트워크 비용 절감데이터 균등 분배가 어려울 수 있음 신뢰성 보장 옵션acks설정 0: (빠름), 1: (중간), all: (느림,안정적)Idempotent Prudocer : 메시지 중복방지 메커니증, Exactly-Once 근접구현Transactional Producer..

1. ECS (Elastic Container service) 란?ECS는 컨테이너를 실행하기 위한 인프라를 제공하며,Docker 이미지를 업로드하여 실행할 할수있는 클라우드 서비스로, EC2와 Fargate로 도커이미지를 컨테이너로 띄워서,실행시키는 컨테이너를 위한 서버리스 컴퓨팅 이라고 보면된다. ECS on EC2 : 일반적인 컴퓨팅ECSFargate:Serverless compute for containers (컨테이너를 위한 서버리스 컴퓨팅) 2. ECS 특징클러스터 : 컨테이너를 실행할 수 있는 컴퓨터 리소스의 집합태스크 : 실행할 컨테이너의 구성 단위태스크 정의 : 컨테이너의 설정을 정의하는 JSON 파일서비스 : 태스크를 특정 개수로 유지하며, 자동 복구 및 로드 밸런싱 지원Fargate..

1. 도커 네트워크 생성docker network create my_network 2.fastapi 컨테이너 생성 이미지생성 -> docker build -t fastapi_app .FROM python:3.11WORKDIR /appCOPY requirements.txt .RUN pip install --no-cache-dir -r requirements.txtCOPY . .CMD ["uvicorn","app.main:app","--host","0.0.0.0","--port","8080"] fastapi_app 이미지로 컨테이너 생성 docker run -d \ --name fastapi_server \ --network my_network \ -e DATABASE_URL="postgresql:..

1.localhost > cotainer로 파일 이동file.txt를 카피해서 file-container에 app/file.txt 로 복사하기 확인 2.container > localhost로 파일 이동 3.컨테이너가 없어지면 사라지는 2번케이스를 보완하기 위한 Docker Storage (Volumn)1.bind-mount : 파일 공유 실시간으로 연동 상호작용으로 맵핑, 둘이 데칼코마니로 작용하는 시스템으로 보안적으로 이슈가 있을수도, 2.volumn (권장) : 컨테이너가 감싸서 보안적으로 안전. (데이터 영속성유지)3.tmpfs : 일시적 메모리 저장 디스크I/O가없어 빠르지만 메모리 사용량이 증가할 수 있다. 컨테이너가 종료되면 데이터가 사라짐 ( 보안이 중요한 임시 데이터) 3-1. bin..

도커네트워크는 개별적인 컨테이너를 상호 작용 할 수 있도록 연결하는 망을 말하며 단일 컨테이너에서는 필요하지 않지만 추후, 쿠버네티스와 같은 환경에서 컨테이너간 연결을 작동시키는데에 아주 중요한 역할을 한다고 본다. bridgehostnull 세가지 종류가있다. 어떤차이점이 있는지 알아보자. 1.bridge busybox라는 리눅스 경량화 이미지 pull 로 테스트 진행 busybox 이미지로 container1, container2 각각 컨테이너에 인스턴스를 실행그렇게 각각의 컨테이너에 직접들어가서 (exec -it) inconfig 명령어로 ip 확인 그러면 각각 172.17.0.4, 172.17.0.5 나오는걸 확인가능하다. (cotainer1, cotainer2)첫번째 컨테이너로 다시 들어가..
- Total
- Today
- Yesterday
- 함수형프로그래밍
- asyncio.gather
- k8s
- datalabeling
- 우테코
- supervised
- 대수자료구조
- ADT
- kubectl
- iris
- next.js
- helm
- 비동기
- SSR
- 위즈윅에디터
- nodejs
- nextj이미지저장
- asyncio
- 윈도우pscale설치
- 타입스크립트
- semi-supervised
- pscale
- un-supervised
- 42서울
- Tailwind
- Python
- create_task
- window
- planetscale배포
- CloudFlare
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |