kerbe — three eyes, one archive
경계를 지키는 기록
투자와 기술, 그리고 나. 서로 다른 세 개의 시선으로 같은 세계를 기록합니다.
all posts
전체 기록
Kafka Connect DLQ, 소스 커넥터에는 적용되지 않는다
Dead Letter Queue는 싱크 커넥터 전용 기능이다. errors.tolerance=none 기본값에서는 DLQ 토픽을 지정해도 동작하지 않는다는 것을 ConnectorConfig 소스로 확인했다.
StreamsBuilder.build()에 Properties를 안 넘기면 최적화가 무시된다
topology.optimization을 설정만 하고 StreamsBuilder.build()를 인자 없이 호출하면 아무 효과가 없다. Kafka Streams 소스 Javadoc에 굵게 강조된 함정과 EOS 설정을 함께 정리했다.
멱등성 프로듀서가 못 막는 중복, 애플리케이션 레벨 재전송
enable.idempotence는 프로듀서 내부 재시도의 중복만 제거한다. 애플리케이션이 직접 재호출하는 재전송과 세션을 넘나드는 재시작은 별개 문제라는 것을 KafkaProducer 소스로 확인했다.
Kafka Tiered Storage, 압축 토픽에는 쓸 수 없는 이유
cleanup.policy=compact인 토픽은 원격 스토리지 대상이 될 수 없다. LogConfig 검증 로직으로 확인한 Tiered Storage 설계 제약과 log.local.retention.ms 기본값의 함정.
KRaft 컨트롤러 쿼럼, voters와 bootstrap.servers 헷갈리지 않기
ZooKeeper 없는 Kafka에서 controller.quorum.voters와 controller.quorum.bootstrap.servers는 서로 다른 부트스트랩 경로다. 트렁크 소스로 확인한 KRaft 설정 원칙.
알트코인 시즌, 불타오르기 전에 봐야 할 세 가지 신호
거래량, 김치프리미엄, 레버리지 지표가 동시에 과열되면 지옥문이 열린다.
블로그를 시작하며
kerbe blog의 첫 글입니다.
RAG 성능은 청킹 전략에서 갈린다
임베딩 모델보다 문서를 어떻게 자르는지가 검색 품질을 더 많이 좌우했다.
Spring Batch 청크 사이즈, 무작정 키운다고 빨라지지 않는다
커밋 인터벌과 메모리, DB 락 경합을 함께 고려해야 하는 이유.
PER만 보고 저평가라 판단하면 안 되는 이유
낮은 PER이 항상 기회는 아니다. 업종 사이클과 이익의 질을 함께 봐야 한다.
비트코인 반감기와 가격 사이클, 이번엔 다를까
과거 3번의 반감기 패턴을 그대로 외삽하는 것이 위험한 이유.
LLM API 비용, 캐싱만으로 60% 줄인 이야기
프롬프트 캐싱과 모델 라우팅으로 응답 품질을 유지하면서 비용을 줄인 경험.
Kafka Consumer Lag이 쌓일 때 Spring에서 확인한 것들
파티션 개수와 컨슈머 병렬도, 그리고 처리 로직 자체의 병목을 구분해서 봐야 한다.
배당주 포트폴리오를 짤 때 놓치기 쉬운 것들
배당수익률만 보고 담으면 배당컷 리스크를 그대로 떠안게 된다.
스테이블코인, 정말 안정적인가
페깅 방식에 따라 리스크 프로필이 완전히 다르다.