전체 글

· JVM
build.gradle 이란? groovy 언어 기반의 패키지 관리 파일 gradle 은 총 3단계로 되어있다. 1. Initialization settings.gradle 설정에 따라 여러 프로젝트 모듈 초기화 2. Configuration Dependency graph 를 생성한다. property 등 속성 값을 미리 지정한다. 3. Execution 사전에 정의된 속성값과 Configuration 에서 생성된 DAG 에 따라 각각의 Task 실행 build.gradle 주요 명령어 테스크 목록 출력 # 실행 가능한 테스크 목록 출력 $ gradle tasks gradle 명령어는 task 단위로 실행된다. 빌드 - 실행 - 삭제 # 빌드 $ gradle build # application 실행파일 ..
· 기타/Kafka
Custom Se/Deserializer 문제점 Apache kafka serialization에 보면 Serializer & Deserializer 역할을 가진 인터페이스를 Serde 가 정의되어있다. 직렬화/역직렬화를 하는 클래스를 Serde 라고 지칭하겠다. public interface Serde extends Closeable { // .. Serializer serializer(); Deserializer deserializer(); } Avro 란 JSON 으로 정의된 Schema Avro 기존 커스텀 Serdes 의 문제를 해결했나 Registry 지원으로 스키마 변경 지원 Avro 스키마에 맞는 Serde 구현체 코드 자동생성 Avro Class 로 불린다. 애플리케이션 변경을 요구하지 ..
· JVM/Error
Kafka Broker 서버 구동 방법 (1) Zookeeper 구동 (2) Broker 구동 문제 상황 아래와 같은 에러가 발생하면서 카프카 브로커 시작 실패 해결 방법 zookeper 와 서버 삭제 References Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org
· JVM/Java
Stream 은 왜 만들어졌나? Java , Kotlin 은 List, Set, Array 등 다양한 Collection 을 제공한다. Collection API 와 Iterate 방식은 표준화 되었지만 각 클래스는 같은 기능을 하는 메소드가 중복 정의되어 있다. List 를 정렬하는 방법만 해도 쉽게 2가지를 떠올릴 수 있다. List.sort Collection.sort 리스트 정렬 public class JavaStreamTest { @DisplayName("Sort list with two way ") @Test void forLoop() { List nums = Arrays.asList(5, 4, 3, 2, 1); nums.sort(new Comparator() { @Override public..
· 기타/Kafka
TL;DR; Kafka Streams' local state store (rocksDB) could not operate on windows because of permission issue. Environment Key Value OS Windows Kafka clients version v3.5.1 Kafka streams version v3.5.1 JDK OpenJDK 20.0.2 Kotlin version 1.9.10 Source Code KafkaConfig.kt @Configuration @EnableKafka @EnableKafkaStreams class KafkaConfig { companion object { const val SOURCE_TOPIC: String = "source-top..
· 기타
OverView In-Memory 임 Disk 임? 둘다 씀. (1) 우선 Memtable (In memory buffer) 에 쓰고 Memtable 이 가득차면 Immutable 상태로 변경시킨 후 (2) Level 0 Sorted Static File (SST) 로 flush (3) (1)(2) 와 별도로 Write Ahead Logs (WAL) 저장 모든 쓰기 연산(Put, Delete, Merge) 을 기록(Log) Disk storage 에 위치하고 이는 데이터 복원을 위해 쓰임. Compaction (SST file L0 -> L1) 은 뭐하는거임? 중복 제거 및 병합 정렬하는 작업. 이미 존재하는 key value 데이터가 오버래핑 되는 것을 막아줌. Reference RocksDB Over..
M_Falcon
Falcon