일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OFFSET
- 오퍼레터
- 처우협의
- 이분탐색
- Docker
- 소프티어
- 13908
- Kafka
- BFS
- 물채우기
- 기술면접
- 매개변수탐색
- 백준
- 6987
- 연결요소
- 처우산정
- msSQL
- incr
- compose
- @P0
- BOJ
- boj #19237 #어른 상어
- 파라메트릭
- upper_bound
- 백트래킹
- 경력
- 성적평가
- dfs
- 퇴사통보
- softeer
- Today
- Total
목록온라인강의/아파치 카프카 애플리케이션 (12)
기술 블로그
◎ 레코드 레코드는 타임스탬프, 헤더, 메시지 키지, 메시지 값, 오프셋으로 구성되어 있음. 프로듀서가 생성한 레코드가 브로커로 전송되면, 오프셋과 타임스탬프가 지정되어 저장됨. 브로커에 한 번 적재된 레코드는 수정이 불가능하며, 로그 리텐션 기간 또는 용량에 의해서만 삭제 레코드 : 프로듀서가 파티션에 보낸 데이터 ◎ 레코드 - 타임스탬프 레코드의 타임스탬프는 스트림 프로세싱에서 활용하기 위한 시간을 저장하는 용도로 사용 카프카 0.10.0.0 이후 버전부터 추가된 타임스탬프는 Unix timestamp가 포함되며, 프로듀서에서 따로 설정하지 ㅇ낳아도 기본값으로 ProducerRecord 생성 시간(CreateTime)이 들어감. 브로커 적재 시간(LogAppendTime)으로 설정할 수도 있다. 해당..
1. 카프카 생태계 프로듀서, 컨슈머, 스트림즈 → Java 기반 커넥트(소스) : 프로듀서의 역할 커넥트(싱크) : 컨슈머의 역할 2. 브로커, 클러스터, 주키퍼 브로커 : 카프카 클라이언트와 데이터를 주고받기 위해 사용하는 주체이자, 데이터를 분산 저장하여 장애가 발생하더라도 안전하게 사용할 수 있도록 도와주는 애플리케이션 하나의 서버에는 한 개의 카프카 브로커 프로세스가 실행된다. 3대 이상의 브로커 서버를 1개의 클러스터로 묶어서 운영해야한다. 3. 여러개의 카프카 클러스터가 연결된 주키퍼 카프카 클러스터로 실행하기 위해서는 주키퍼가 필요함 주키퍼의 서로 다른 znode에 클러스터를 지정하면 됨 root znode에 각 클러스터별 znode를 생성하고, 클러스터 실행시 root가 아닌 하위 zno..
1. 카프카의 탄생 시간이 지날수록 아키텍처는 거대해졌고, 소스 애플리케이션과 타겟 애플리케이션의 개수가 점점 많아지면서 문제가 생김. 이를 해결하기 위해, 링크드인 데이터팀에서는 데이터 파이프라인의 파편화를 개선하려고 하였지만, 데이터 파이프라인의 복잡도를 낮춰주는 아키텍처가 되지는 못함. 결국 링크드인의 데이터팀은 신규 시스템을 만들기로 결정했고, 그 결과물이 바로 아파치 카프카다. 링크드인의 내부 데이터 흐름을 개선하기 위해 개발한 것이 카프카다. 2. 메시지 큐 구조를 그대로 살린 카프카 내부 구조 기존에 1:1 매칭으로 개발하고 운영하던 데이터 파이프라인의 커플링으로 인해 한 쪽의 이슈가 다른 한 쪽의 애플리케이션에 영향을 미치곤 했지만, 카프카는 이러한 의존도를 타파하였음. 어느 타깃 애플리케..