데엔 공부
-
Kafka 심화 개념 - 4데엔 공부 2024. 12. 15. 11:27
4-1. Apache Kafka Connecting System 간 메시지 전송할 때 잘 만들어진 Kafka Connector 사용 Kafka Connect란> Apache Kafka 안팎으로 데이터를 스트리밍하기 위한 Framework Connector: Task를 관리하여 데이터 스트리밍을 조정하는 Plugin(jar), Java Class/InstanceTasks: Kafka와 다른 시스템간의 데이터를 전송하는 방법의 구현체(Java Class/Instance)Workers: Connector 및 Task를 실행하는 실행 중인 프로세스(Process)> Worker 프로세스가 Connect, Task 관리Converter: Connect와 데이터를 보내거나 받는 시스템 간에 데이터를 변환하는데 사용..
-
Kafka 심화 개념 - 3데엔 공부 2024. 12. 14. 09:21
3-1. Apache Kafka and Confluent Reference Architecture Confluent에서 제공하는 Confluent Platform Reference Architecture참조 아키텍처 및 환경 별 참조 HW 사양 Large Cluster Reference Architecture Small Cluster Reference Architecture> Zookeeper와 Broker를 같이 구성 Large Cluster용 HW 권장 사양> Connect 올라가면 CPU 사용량은 올라감. 여기서는 구축 시 권장 사양일 뿐. Small Cluster용 HW 권장 사양 Public Cloud Deployment(AWS, MS Azure, Google Cloud Platform) 사용 ..
-
Kafka 심화 개념 - 2데엔 공부 2024. 12. 13. 13:14
2-6. Cooperative Sticky Asignor 시간 흐름에 따른 Consumer Rebalance 과정 Eager Rebalance 프로토콜: 최대한 단순하게 유지하기 위해 만들어짐 Incremental Cooperative Rebalancing Protocol: Eager Rebalancing 프로토콜 보다 발전한 방식> Revoke할 파티션만 Revoke 처리하고 새로 할당할 것만 해주기> 이상적인 Consumer Rebalancing 프로토콜> Rebalancing을 두 번 수행> 1st rebalance에서 Consumer는 자신의 파티션 중 어느 것이 다른 곳으로 재할당되어야 하는지 알게 됨> Apache Kafka 2.5에서 추가됨> 빈번하게 리밸런싱되거나 스케일 인/아웃으로 인한 ..
-
Kafka 심화개념 - 1데엔 공부 2024. 11. 27. 10:22
2-1. Producer Acks, Batch, Page Cahche, Flush 프로듀서는 Kafka가 메시지를 잘 받았는지 어떻게 알 수 있는가?acks: 요청이 성공하는 때를 정의하는 데 사용되는 producer에 설정하는 parameter acks=0> ack가 필요하지 않음. 메시지 손실이 있더라도 빠르게 메시지를 보내야하는 경우 사용됨> 응답 없음 acks=1 (default값)> leader가 메시지를 받으면 producer에게 ack를 보냄> ack를 보내고 follower가 복제 전에 leader에 장애 발생 시, 메시지 손실됨> At most once 최대 한 번 전송 보장 acks=-1 / acks=all> leader가 모든 replica까지 Commit되면 ack 보냄> 메시지 손..
-
Apache Kafka 개념 정리데엔 공부 2024. 11. 25. 15:10
패스트캠퍼스에서 인강을 들으면서 공부한 Apache Kafka의 개념을 줄줄줄 써보려고 한다. 읽기 편하게 정리하면 좋겠지만 우선은 보면서 적은 메모를 붙여 넣고, 이후에 틈틈히 재정리할 예정이다. Apache KafkaEvent Streaming Platform 이벤트 스트림을 전송이벤트 스트림을 디스크에 저장이벤트 스트림을 분석 및 처리 Topic: kafka 안에서 메시지가 저장되는 장소. 논리적인 표현.Partition: Commit Log, 하나의 토픽은 하나 이상의 파티션으로 구성. 병렬처리를 위해 다수의 파티션 사용(Troughput 향상) 서로 독립적.Segment: 메시지(데이터)가 저장되는 실제 물리 File.Topic 생성 시 Partition 개수 지정, 각 Partition은 브로..