전체 글 (730) 썸네일형 리스트형 [Kafka] 브로커의 역할 데이터의 저장 카프카를 실행할때 Config/server.properties 의 log.dir 옵션에 정의한 디렉토리에 데이터를 저장한다. 토픽 이름과 파티션 번호의 조합으로 하위 디렉토리를 생성하여 데이터를 저장한다. -hello.kafaka 토픽의 0번 파티션에 존재하는 데이터를 확인 할 수 있다. log에는 메시지와 메타데이터를 저장한다. index는 메시지의 오프셋을 인덱싱한 정보를 담은 파일이다. timeindex파일에는 메시지에 포함된 타임스탬프 값을 기준으로 인덱싱한 정보가 담겨있다. 만약에 3개짜리 파티션을 만들게 되면, 해당 토픽이 3개로 저장된다.(나눠서가 아닌 복제형태로) 프로듀서는 메시지 (레코드)를 보내게 되는데 이 레코드 안에는 타임스탬프,메시지키,메시지 값 들의 정보가 들어가있.. [Flutter] Splash Page 만들기 오늘은 스플래시 페이지를 만들거다. 사용 이유, 초기 앱 로딩시 보여주는 화면(이때 다양하게 데이터를 로딩하거나, 초기작업을 함) 별도로 소스는 필요없는 듯하다. dependencies: flutter_native_splash: ^2.3.1 root project 하위에 flutter_native_splash.yaml 생성 flutter_native_splash.yaml 파일 내용가이드와 별 다른 차이는 일단 없다.필요시 단순히 추가해주면 된다. flutter_native_splash: # This package generates native code to customize Flutter's default white native splash screen # with background color and .. [Flutter] Dart Sdk 버전업 https://docs.flutter.dev/release/archive?tab=macos Flutter SDK archive All current Flutter SDK releases: stable, beta, and master. docs.flutter.dev 여기서 다운 받고, 진행한다. 진행하고 안드로이드 스튜디오 > Settings > Language > Dart에서 아래와 같이 설정해준다. bin/cache/dard-sdk 가 경로다. 무튼 이러고 적용하면 잘 된다. [Kafka] Broker의 역할 1) 컨트롤러 클러스터의 다수 브로커 중 한대가 컨트롤러의 역할을 한다. 컨트롤러는 다른 브로커들의 상태를 체크하고, 브로커가 클러스터에서 빠지는 경우 해당 브로커에 존재하는 리더 파티션을 재분배한다. 카프카는 지속적으로 데이터를 처리해야 하므로, 브로커의상태가 비정상이라면 빠르게 클러스터에서 빼내는 것이 중요하다. 만약 컨트롤러 역할을 하는 브로커에 장애가 생기면 다른 브로커가 컨트롤러 역할을 한다. 2) 데이터 삭제 카프카는 다른 메시징 플랫폼과 다르게 컨슈머가 데이터를 가져가더라도 토픽의 데이터가 삭제되지 않는다. 브로커가 데이터를 삭제하는데, 이 단위를 로그 세그먼트라고 부른다. 이 세그먼트에는 다수의 데이터가 들어가 있기 떄문에 일반적인 데이터베이스 처럼 특정 데이터를 선별해서 삭제할 수 없다... [Kafka]주키퍼 앙상블 카프카 클러스터에는 브로커를 각기 다르게 설정할수있다. 이런한 클러스터들은 하나의 주키퍼 앙상블로 운영이 될 수가 있는데 아래와 같다. 하나의 주키퍼 앙상블은 여러대의 클러스터들과 매핑이되고 각 클러스터는 각기 다른 브로커수를 가진다. 카프카 클러스터를 운영하려면, 반드시 주키퍼가 필요하다. 3.0부터는 주키퍼가 없어도 클러스터 자체로 사용가능하다. 하지만, 예전 버전에서는 주키퍼가 필수였어서 앙상블이라는 개념이 도입되었다. [Kafka] 브로커와 클러스터 주키퍼 카프카 브로커는 카프카 클라이언트와 데이터를 주고받기 위해 사용하는 주체이자 데이터를 분산 저장하여, 장애가 발생하더라도 안전하게 사용할 수 있도록 도와주는 애플리케이션이다. 하나의 서버에는 한개의 카프카 브로커 프로세스가 실행된다. 하나의 서버에는 한개의 카프카 브로커 프로세스가 실행된다. 카프카 브로커 서버 1대로도 기본 기능이 실행되지만, 데이터를 안전하게 보관하고 처리하기 위해 3대이상의 브로커서버를 1개의 클러스터로 묶어서 운영한다. 그래서 하나의 클러스터에는 3개의 브로커를 사용하는게 기본이고 해당 클러스터를 늘리거나, 브로커의 수를 늘리는경우가 있다. 브로커는 한개당 프로세스이다. 한개로도 돌아가지만, 안전하게 사용하려면 한개의 브로커가 아니라 최소 3개이상의 브로커로 운영을 하는게 .. [Intellij] Find 관련 방법 정리 소스 개발하면서 찾는것은 중요하다. 최근에 알게된걸 정리해보자 그냥 찾을떄 문자열을 컨트롤+쉬프트 f 를 눌러서 찾는다고하자. 그러면 파일에서 찾기가 뜬다. 근데. 찾기 창 열기, Open in a find window를 누르게 되면, 해당 관련 결과가 모두 검색이 된다. 이는 좀 상이하다. Open in find window (찾기 창 열기)를 통해서 열면, 더 많은 정보를 얻을 수 있다. 자세하게 총 개수를 확인 할 때는 해당 찾기 창을 활용해서 확인하자 [Kafka] 카프카 생태계 카프카 생태계는 아래와 같다. 토픽을 가져가는 건 컨슈머가 가져간다. 토칙에 저장된 데이터를 Stateful, Stateless 하게 데이터를 처리해서 다시 토픽에 넣고싶다면? 카프카 스트림즈를 쓴다. 커넥트는 싱크커넥트와 소스 커넥트가 있다. 소스 커넥트는 프로듀서 역할을 하고 싱크 커넥트 같은 것들은 타겟 애플리케이션으로 데이터를 보내는 역할을 한다. 커넥트는 템플릿화를 하여 반복적으로 여러번 파이프라인 생성이 가능하다. MM2 이러메이커라는 것이 있고, 클러스터 단위로 토픽에 있는 데이터를 완벽하게 복제하기위해서 사용하기도 한다. 이전 1 ··· 15 16 17 18 19 20 21 ··· 92 다음