반응형

스터디 57

[카프카인액션] 7장. 토픽과 파티션 | 카프카 로그 | 토픽 컴패션

7.1 토픽사용자 작업 이벤트를 카프카 클러스터로 보내는 웹 기반 애플리케이션을 사용해 교육 수업을 위한 자리를 판매한다고 가정해보자.위치에 대한 초기 검색 이벤트, 고객이 선택한 특정 교육에 대한 이벤트, 확인된 클래스에 대한 세 번째 이벤트가 있을 수 있다.이벤트를 생성하는 애플리케이션이 모든 데이터를 단일 토픽으로 보내야 할까? 아니면 여러 토픽으로 나눠 보내야 할까?각 메시지는 특정 유형의 이벤트인가? 각각 다른 토픽으로 분리되어 있어야 하는가 ? 토픽 설계는 2단계 프로세스로 본다.첫번재는 우리가 가진 이벤트를 본다. 하나의 토픽에 속해 있는가 ? 둘 이상에 속해 있는가?두번째는 각 토픽을 고려한다. 사용해야 하는 파티션의 수는 얼마인가? 가장 중요한 점은 파티션이 토픽별 설계에 대한 질문이지 ..

[카프카인액션] 6장(2) 카프카 모니터링 | 카프카 프로덕션 배포 | 카프카와 쿠버네티스

6.5 카프카 모니터링(엿보기)그라파나 Grafana와 프로메테우스 Prometheus프로메테우스를 사용해 카프카의 메트릭 데이터를 추출하고 저장한다.그런 다음 해당 데이터를 그라파나로 보내 그래픽 뷰를 생성한다.카프카 익스포터 Kafka exporterJMX 매크릭을 받아 프로메테우스 형식으로 내보낸다. 프로메테우스는 이 내보낸 데이터를 수집하여 메트릭 데이터로 저장한다.  6.5.1 클러스터 유지 관리 프로덕션으로 구축할 때 보통 둘 이상의 서버를 구성하려고 한다. 카프카, 커넥트 클라이언트, 스키마 레지스트리, REST 프록시와 같은 시스템은 브로커와 동일한 서버에서 실행되지 않는다.  6.5.2 브로커 추가 작은 클러스터로 시작한다. 클러스터에 카프카 브로커를 추가하려면 고유한 ID로 새 카프카 ..

[카프카인액션] 6장(1). 브로커 | 주키퍼의 역할 | 데이터 손실

6.1 브로커 소개 카프카에서는 파티션의 레플키리카가 별도의 렉에 물리적으로 존재하도록 하는 랙 어웨어니스 기능이 있다. 자체 카프카 클러스터를 생성할 때는 또다른 클러스터인 어파치 주키퍼를 알고 있어야 한다.  6.2 주키퍼의 역할 브로커보다 먼저 실행되고 존재해야 한다. 브로커 작동방식에 있어 핵심파트이며 카프카를 실행하기 위한 요구사항이기도 하다.리더 선출 및 클러스터 관리주키퍼는 클러스터 내에서 특정 브로커를 리더로 선출하는 역할을 수행합니다.리더가 장애가 발생하면, 주키퍼가 새로운 리더를 선출하여 Kafka 클러스터가 계속 동작할 수 있도록 보장합니다.최소한의 숫자가 필요함 (쿼럼, Quorum 개념)주키퍼는 리더를 선출하고 결정을 내리기 위해 최소한의 숫자가 필요하다. 쿼럼(Quorum): 클..

[코드팩토리의 플러터 프로그래밍] 24장. 광고 및 배포하기 (1)

구글 애드몹구글에서 제공하는 광고 서비스간단한 가입 만으로 누구든 광고 게시하고 수익화할 수 있다. 종류배너 광고 Banner ads일반적으로 기기 화면의 상단이나, 하단 그리고 리스트 사이에 배너 형태로 표시하는 광고 가장 많이 사용되는 광고 형식 전면 광고 Interstitial Ads화면 전체를 덮는 전체 화면 광고 사용자가 닫을 때까지 게재되어 다음 화면을 넘어가는 과정에 주로 추가네이티브 광고 Native Ads앱의 디자인과 스타일에 최적화된 형태로 실행할 수 있는 광고 광고 배치 방법 및 위치 지정 가능보상형 광고 Rewarded Ads 짧은 동영상 시청, 설문 조사 응답 등 광고 조회하고 참여하면 보상 주는 광고   애드몹 가입 애드몹 가입 링크 : https://apps.admob.com/..

[카프카인액션] 5.3 ~ 5.6. consumer | enable.auto.commit | partition.assignment.strategy

5.3 추적다른 시스템에서 일부 메시지 브로커가 메시지를 처리하는 방법 1) 일부 시스템에서는 컨슈머가 읽은 내용을 기록하지 않는다.메시지를 가져온 다음 수신확인한 후에 그 메시지는 대기열에서 사라진다. 하나의 애플리케이션이(컨슈머) 하는 단일 메시지에 적합 2) 구독자인 모든 사람에게 메시지를 게시한다. 미래의 구독자는 이벤트 발생했을때 수신자 목록에 없기 때문에 놓친다.    5.3.1 그룹 코디네이터 토픽에서 다음 메시지를 읽을 위치 결정하기 위해 오프셋 커밋을 좌표로 사용한다. 예를 들어, 파티션0이 할당된 컨슈머는 다음 오프셋 3을 읽을 준비가 된다.  동일한 파티션 집합이 3개의 각기 다른 브로커에 존재하며, kinaction_teamoffka0과 kinaction_teamsetka1이라는 2..

[카프카인액션] 5.1 ~ 5.2. consumer란 | consumer option | consumer 코디네이트 | consumer group.id

개요 컨슈머 클라이언트는 관심 있는 토픽을 구독하는 프로그램으로, 카프카에서 데이터를 가져와 다른 시스템이나 애플리케이션에 이 데이터를 제공하는 기능을 담당한다. 브로커 외부에 존재하는 클라이언트이므로 프로듀서 클라이언트와 마찬가지로 다양한 프로그래밍 언어로 작성 가능하다.프로듀서 클라이언트와 마찬가지로 실제 컨슈머 프로세스는 별도의 시스템에서 실행할 수 있으며, 특별한 서버에서 실행할 필요는 없다. 실제 프로덕션 환경에서 대부분의 컨슈머 클라이언트는 별도의 호스트에 있다.   5.1 예제 컨슈머가 데이터가 푸쉬(push)하지 않고 토픽을 구독(pull) 하는 것을 안다는 것이 중요하다.처리 제어의 권한은 컨슈머에 있는 것이다. 토픽에서 데이터를 읽고 애플리케이션에서 사용할 수 있도록 하거나 다른 시스템..

[카프카인액션] 4장. 카프카 프로듀서 | 옵션 (acks, bootstrap.servers, value.serializer, key.serializer) | acks = all, -1, 1, 0 | 타임스탬프

4.1 예제웹사이트가 고객을 위해 어떻게 작동하는지에 대한 사용자 피드백을 받는 애플리케이션을 가정한다.사용자는 지원 계정이나 챗봇에 이메일 생성하는 양식을 웹사이트에 제출지원 담당자가 받은 편지함을 열어 확인한다.  카프카 프로듀서를 도입하고 나면 이메일 대신 메시지를 카프카 토픽에 보내서 데이터에 더 쉽게 접근하게 하려고 한다.데이터를 필요한 형식으로 추출할 수 있다.  4.1.1 프로듀서 설명 📌 프로듀서 작업과 메타데이터프로듀서의 역할: 메시지를 전송하는 역할을 담당.메타데이터: 프로듀서가 클러스터에 접근하려면 토픽 이름 외에도 각 파티션의 리더 레플리카 정보가 필요한데, 프로듀서에서 메타데이터에 대한 정보 가져오기가 포함됨  📌 최종 사용자의 브로커 연결사용자(또는 애플리케이션)는 적어도 하..

[카프카인액션] 3장. 카프카 커넥트 | 카프카 소스 커넥터 | 카프카 소스 + 싱크 커넥터 | 카프카 설계시 고려요소 | 카프카 Apache avro

3.1 카프카 프로젝트 설계 3.1.1 기존 데이터 아키텍쳐 인수- 새로운 가상의 컨설팅 회사는 원격으로 전기 자전거를 관리하는 공장을 재설계하는 계약을 막 따냈다. - 센서는 모니터링하는 내부 장비 상태와 이 상태 이벤트를 지속적으로 제공하는 자전거 전체에 설치된다. - 하지만 현재 시스템은 대부분의 메시지를 무시해야 할 정도로 많은 이벤트가 생성되고 있다.- 현재 데이터는 대용량 클러스터 형태로 구성된 전통저인 관계형 데이터베이스 시스템에 있다.   3.1.2 첫 변경 - 가장 쉬운 방법은 카프카 커넥트로 시작하는 것 3.1.3 내장 기능- 카프카 커넥트의 용도는 자체 프로듀서와 컨슈머를 작성하지 않고 카프카 안팎으로의 데이터 이동을 돕는 것이다.- 커넥트가 전형적인 애플리케이션 로그 파일을 가져와 ..

[카프카인액션] 2장. 레코드 | 브로커 | 프로듀서 | 컨슈머 | 주키퍼 | 커밋 로그 | 카프카 스트림즈 | 컨플루언트 클라이언트 | 스트림 처리

2.1 메시지 생산과 소비 - 메시지(레코드) : 카프카를 통해 흐르는 데이터의 기본 요소   2.2 브로커란 무엇인가 ?- 브로커 : 카프카의 서버 측면으로 생각할 수 있음.  https://ddoance.tistory.com/290 [kafka] 토픽 생성 및 리스트 확인 + producer, consumer 메시지 전달 (mac m1)1. kinaction_helloworld 토픽 만들기bin/kafka-topics.sh --create --bootstrap-server localhost:9094 --topic kinaction_helloword --partitions 3 --replication-factor 3   2. 토픽 확인하기 bin/kafka-topics.sh --list --bootst..

[카프카인액션] 1장. 특징 | 3가지 방식 | 적합하지 않을 수 있는 경우

1장. 카프카 소개 https://kafka.apache.org/intro Apache KafkaApache Kafka: A Distributed Streaming Platform.kafka.apache.org 1. 카프카의 특징- 메시지 큐처럼 레코드를 읽고 쓴다.- 내결함성(fault tolerance)으로 레코드를 저장한다.- 스트림이 발생할 때 처리한다. * fault tolerance : https://kafka.apache.org/0102/documentation/streams/architecture#streams_architecture_recovery Apache KafkaApache Kafka: A Distributed Streaming Platform.kafka.apache.orgIf a..

반응형