일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- php
- Java
- 카프카
- JPA
- GCM
- notification
- git
- APNS
- GCM 번역
- 자바스크립트
- 카프카 트랜잭션
- gcm 푸시 번역
- nginx설정
- 웹사이트 성능
- 웹사이트최적화기법
- graphql
- ddd
- 도메인 주도 개발
- nginx설치
- nginx
- 웹사이트성능
- 푸시 번역
- Design Pattern
- 성능
- kafka
- 푸시
- 디자인패턴
- Push
- 페이스북 번역
- Today
- Total
목록Message Queue (7)
간단한 개발관련 내용
SMT는 Single Message Transform의 약자로, Apache Kafka의 Kafka Connect 프레임워크에서 사용되는 단일 메시지 변환 기능입니다. SMT는 Kafka Connect가 데이터를 소스 커넥터를 통해 가져오거나 싱크 커넥터를 통해 내보낼 때, 각 개별 메시지에 대해 변환 또는 수정을 적용하는 간단한 처리 단계입니다.SMT의 역할Kafka Connect에서 SMT는 데이터 흐름의 중간에서 작동하며, 각 메시지에 대해 필터링, 변환, 필드 추가 또는 제거와 같은 작업을 수행할 수 있습니다.SMT를 사용하는 목적데이터 변환: 메시지의 포맷이나 필드를 변환합니다.데이터 정제: 불필요한 필드를 제거하거나 새로운 필드를 추가합니다.메타데이터 추가: 타임스탬프나 키 값 등 메타데이터를..
1. 카프카 트랜잭션의 목적Exactly-once semantics (EoS): 메시지를 정확히 한 번만 처리.프로듀서-컨슈머 간 원자적 작업:데이터 생산(프로듀서) 및 소비(컨슈머)를 원자적으로 연결.데이터 무결성:장애 발생 시 중복 메시지 방지 및 데이터 일관성 유지. 2. 카프카 트랜잭션의 주요 구성 요소transactional.id:트랜잭션을 구분하는 고유 ID.프로듀서는 transactional.id를 기반으로 트랜잭션 작업을 수행.Producer ID (PID):프로듀서 인스턴스에 부여되는 고유 ID.브로커는 PID를 통해 트랜잭션 상태를 관리.Epoch:트랜잭션 버전 관리.장애 복구 시 동일한 transactional.id로 중복 작업 방지(팬싱).트랜잭션 로그:브로커는 트랜잭션 상태(시작,..
카프카 트랜잭션의 팬싱(Fencing)은 트랜잭션 프로듀서 간의 중복 방지 및 일관성 보장 메커니즘입니다. 이 기능은 트랜잭션 ID(transactional.id)를 기반으로 작동하며, 특정 트랜잭션이 잘못되거나 장애 상황이 발생했을 때, 중복 트랜잭션 프로듀서가 메시지를 잘못 기록하는 것을 방지합니다.1. 팬싱이 필요한 이유트랜잭션 프로듀서는 상태를 유지하며 트랜잭션 ID(transactional.id)를 통해 클러스터와 연관됩니다. 이때 다음과 같은 상황에서 중복 프로듀서가 발생할 수 있습니다:프로듀서 장애로 인해 클러스터와 연결이 끊긴 경우.네트워크 지연 또는 일시적인 장애로 기존 프로듀서가 복구되지 못했는데, 동일한 transactional.id로 새 프로듀서가 시작된 경우.이 상황에서 두 프로듀..
메시지 브로커(Message Broker)와 퍼블리시-서브스크라이브(Publish-Subscribe, Pub/Sub)는 메시징 시스템에서 중요한 개념이지만, 서로 다른 역할과 기능을 가지고 있습니다. 아래에서 두 개념의 정의와 차이점에 대해 자세히 설명하겠습니다.메시지 브로커(Message Broker)란?메시지 브로커는 서로 다른 애플리케이션, 서비스, 또는 시스템 간에 메시지를 중개하고 전달하는 미들웨어 소프트웨어입니다. 메시지 브로커는 메시지의 라우팅, 변환, 저장, 그리고 보안 등을 관리하여 다양한 컴포넌트들이 독립적으로 통신할 수 있도록 지원합니다.주요 기능메시지 라우팅: 메시지를 적절한 목적지로 전달합니다.메시지 변환: 메시지 포맷을 변환하여 다양한 시스템 간 호환성을 제공합니다.메시지 저장 ..
Apache Kafka는 대규모 실시간 데이터 스트리밍을 처리하기 위한 오픈 소스 분산 스트리밍 플랫폼입니다. LinkedIn에서 처음 개발되었으며, 현재는 Apache Software Foundation의 프로젝트로 관리되고 있습니다. Kafka는 높은 처리량, 확장성, 내결함성 등의 강점을 바탕으로 다양한 산업 분야에서 실시간 데이터 파이프라인 구축과 스트리밍 애플리케이션 개발에 널리 사용되고 있습니다.Apache Kafka의 개요역사 및 배경: Kafka는 LinkedIn에서 로그 수집 및 실시간 데이터 처리 요구를 충족하기 위해 개발되었습니다. 이후 오픈 소스로 공개되어 Apache Software Foundation의 프로젝트로 성장하였으며, 현재는 다양한 기업과 개발자 커뮤니티에서 활발히 사용..
RabbitMQ 설치 및 설정 1. 사용할 버전에 대한 tar.xz 파일을 다운받는다. 얼랭도 같이 설치한다. 설치할 버전을 확인한다.brew, apt-get, port 등을 사용해서 편리하게 설치한다.https://github.com/erlang/otp/releases/tag/OTP-22.0 https://www.erlang.org/downloads https://www.rabbitmq.com/which-erlang.html brew search erlang brew install erlang@22 brew switch erlang 22.2.5 2. 압축을 풀고 원하는 디렉토리로 이동한다. 3. rabbitmq를 실행 및 종료한다. rabbitmq_server/sbin/rabbitmq-server 명령..