본문 바로가기

server

(62)
Kafka producer/consumer 튜닝 (acks, batch.size, linger.ms 등) resources: requests: cpu: 500m memory: 512Mi top - 05:43:42 up 1 day, 10:29, 0 users, load average: 0.64, 0.88, 1.29Tasks: 5 total, 1 running, 4 sleeping, 0 stopped, 0 zombie%Cpu(s): 6.8 us, 1.0 sy, 0.0 ni, 91.4 id, 0.2 wa, 0.0 hi, 0.6 si, 0.0 stMiB Mem : 7945.9 total, 805.2 free, 3249.5 used, 3891.1 buff/cacheMiB Swap: 0.0 total, 0.0 free, ..
로또 시스템 아키텍처 지금 회사에는 제품중 로또 시스템 있다. 실제 토요일 로또 추첨된 결과와 일치하는 로또를 가진 유저에게 현금을 주는 시스템이 있다. 최근 사용자가 증가하면서 일주일에 대략 8000만개의 로또가 생성되는데, 이를 추첨하는데만 12시간이 걸린다. (정확히는 데이터를 백업하고, 해당 유저를 정확히 뽑는데까지 걸리는 시간이다.) 하지만, 실제 로또 추첨을 보면 번호 추첨과 동시에 몇명이 뽑혔는지가 나온다. (거의 10초 내외로 나온다.)이게.....어떤 시스템이길래 가능한걸까? 라는 생각이 들어서, 우리 회사에 적용할수 있는 시스템일까? 하는 호기심이 들어서 테스트를 해보았다. 테스트는 맥북 에어 (m4) 에서 실행했다. 1. 번호 생성조건은 3억개의 로또 번호에서 특정 번호를 뽑는데, 얼마나 시간이 걸리는지 ..
[helm] jupyter-lab 실행하기 $ minikube start 1. helm 추가jupyter-lab/├── Chart.yaml├── values.yaml└── templates/ └── pod.yaml Chart.yamlapiVersion: v2name: jupyter-labdescription: A simple Helm chart for single-user JupyterLabtype: applicationversion: 0.1.0appVersion: "1.0" values.yamlimage: repository: jupyter/base-notebook tag: latest pullPolicy: IfNotPresentnotebookArgs: token: "" allow_origin: "*"containerPort..
kafka-reassign-partitions 2번 서버의 디스크가 85% 알람 UI에서 확인 용량이 가장 큰 토픽 확인 뉴레릭에서 확인, 5번서버 널널함2 -> 5번으로 옮기는 작업 필요 ## kafka-reassign-partitions**Apache Kafka에서 파티션의 리더와 복제본을 브로커 간에 재분배(reassignment)** 하기 위한 **관리 도구**Kafka 클러스터는 토픽을 **파티션** 단위로 나누고, 각 파티션은 하나 이상의 **브로커**에 분산 저장됩니다. 하지만 다음과 같은 상황에서 **불균형**이 생길 수 있습니다:* 브로커를 추가했을 때 새 브로커에 파티션이 할당되지 않음* 일부 브로커에 너무 많은 파티션이 몰림 (리더 파티션 포함)* 특정 브로커를 제거하거나 정비하려고 할 때⠀이런 경우에 **파티션을 재배치**해서 ..
fluentd grpc ruby 버전 에러 booted, phase: 0","timestamp":"2025-07-27T04:09:02.32159913Z"}[BUG] Segmentation fault at 0x0000000000000029ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]-- Control frame information -----------------------------------------------c:0001 p:---- s:0003 e:000002 (none) [FINISH]-- Machine register context ------------------------------------------------ RIP: 0x00007f20478d905f RBP: 0..
helm - (1) nginx를 helm으로 설치해보기 + kubectl이 설치되어 있는 로컬 환경에서 진행합니다. (minikube)+ 저는 helm을 사용해본적이 없습니다. 그래서 기초부터 하나씩 시작한걸 적어봅니다. 1. helm 설치$ helm versionzsh: command not found: helm$ brew install helm....grok.rb... (1.3KB)==> Caveatszsh completions have been installed to: /opt/homebrew/share/zsh/site-functions $helm versionversion.BuildInfo{Version:"v3.18.4", GitCommit:"d80839cf37d860c8aa9a0503fe463278f26cd5e2", GitTreeState:..
ksqldb 1. ksqlDB?ksqlDB는 Apache Kafka®를 위해 특별히 제작된 이벤트 스트리밍 데이터베이스, Kafka 토픽에 저장된 실시간 데이터 스트림을 대상으로, 마치 관계형 데이터베이스(RDB)의 테이블을 다루듯 SQL을 사용하여 데이터를 처리하고 분석할 수 있게 해준다. Java나 Scala 같은 프로그래밍 언어로 복잡한 코드를 작성하는 대신, 선언적인 SQL 구문으로 스트림 처리 애플리케이션을 만들 수 있도록 지원하는 것이 핵심이다. 전통적으로 Kafka의 데이터를 처리하기 위해서는 Kafka Streams나 다른 스트림 처리 프레임워크를 사용하여 복잡한 애플리케이션을 개발해야 했다. 이는 상당한 학습 비용과 개발 시간을 요구했으며, 데이터 분석가나 SQL에 익숙한 개발자들이 스트림 데이터에..
kafka reset offset 먼저 해당 group_id가 존재하는지 확인 ./kafka-consumer-groups --bootstrap-server=localhost:9092 --describe --group my-group offset이 665로 되어 있어, 이전 데이터는 읽을수 없는 상태offset을 0(to-earliest)으로 셋팅하려고 하려 한다. kafka-consumer-groups.sh --bootstrap-server --group --topic --reset-offsets --execute$ kafka-consumer-groups --bootstrap-server localhost:29092 --group my-group --topic my-topic --reset-offsets --to-earliest..