일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹사이트 성능
- 성능
- APNS
- Design Pattern
- 디자인패턴
- graphql
- notification
- 푸시
- 웹사이트성능
- 카프카 트랜잭션
- kafka
- 페이스북 번역
- Java
- 웹사이트최적화기법
- Push
- 자바스크립트
- JPA
- ddd
- 카프카
- GCM 번역
- GCM
- git
- 푸시 번역
- nginx
- gcm 푸시 번역
- php
- nginx설치
- nginx설정
- 도메인 주도 개발
- Today
- Total
목록2024/11/21 (3)
간단한 개발관련 내용
카프카 완벽 가이드 6장 요약: 카프카 내부 매커니즘6.1 클러스터 멤버십카프카는 브로커의 목록을 유지하기 위해 Apache Zookeeper를 사용.Zookeeper는 브로커가 클러스터에 속해 있는지 확인하고 리더 선출 등 여러 작업을 수행.6.2 컨트롤러컨트롤러 역할:파티션 리더 선출 및 메타데이터 관리.브로커가 추가되거나 제거될 때 파티션의 리더를 선출하고 클라이언트 요청 처리 시작.KRaft (Kafka Raft):Zookeeper 의존 제거: 자체적으로 리더 선출 및 메타데이터 관리.액티브 컨트롤러가 브로커 요청 처리, 팔로워 컨트롤러는 데이터 복제.메타데이터 동기화 및 성능 병목 해결.6.3 복제 (Replication)리더 레플리카:파티션의 리더 역할을 수행하며 쓰기 요청 처리.클라이언트 요..
카프카 완벽 가이드 4장 요약: 컨슈머4.1 카프카 컨슈머: 개념컨슈머와 컨슈머 그룹:컨슈머는 보통 컨슈머 그룹의 일부로 동작하며, 동일 그룹의 컨슈머들은 서로 다른 파티션의 메시지를 읽는다.파티션보다 많은 컨슈머를 추가하면 일부는 유휴 상태가 됨.컨슈머 그룹별 데이터 분리: 애플리케이션마다 별도 그룹 생성 필요.컨슈머를 추가해 그룹 확장 시, 각 컨슈머는 일부 메시지만 처리.리밸런스(rebalance):파티션 재할당 과정으로, 컨슈머 추가/종료/충돌, 토픽 변경 시 발생.리밸런스 전략:조급한 리밸런스: 모든 컨슈머가 소유권 포기 후 재할당. 전체 작업 중단 위험.협력적 리밸런스: 파티션 일부만 재할당해 중단 최소화.정적 그룹 멤버십:group.instance.id 설정 시, 컨슈머 종료 후에도 그룹 멤..
카프카 프로듀서 완벽 가이드 3장 요약 3.1 프로듀서 개요메시지 쓰기:ProducerRecord 생성 → 직렬화 → 파티션 결정(기본적으로 키 기반) → 레코드 배치 생성 → 브로커로 전송.브로커 응답:성공 시 RecordMetadata 반환, 실패 시 에러 발생.프로듀서는 자동으로 재전송을 시도하지만 실패 시 예외를 발생. 3.2 카프카 프로듀서 생성필수 속성:bootstrap.servers: 브로커 주소 목록.key.serializer & value.serializer: 직렬화 클래스 지정.전송 방식:Fire and Forget: 성공 여부 확인 없이 전송.Synchronous send: send() 호출 후 Future.get()로 응답 대기.Asynchronous send: 콜백 함수와 함께 s..