기술 블로그
실무에서 직접 설계·운영한 백엔드 시스템과 의사결정 기록. Go·Java/Spring·PostgreSQL·Kubernetes 기반의 분산 시스템 패턴, 음성 AI 파이프라인(WebRTC·STT·LLM·TTS)의 latency·동시성 트레이드오프, OCR/문서 탐지 모델의 평가 지표(F1·Precision·Recall) 적용기 등을 다룹니다. 모든 글은 본인이 직접 운영하며 측정한 1차 데이터에서 출발합니다.
-
규모의 벽 — iptables에서 IPVS·eBPF로 (직접 IPVS 모드로 전환해 실측)
B1의 iptables 룰은 서비스마다 선형으로 쌓인다. 서비스가 수천 개면? kube-proxy를 실제로 IPVS 모드로 전환해 /proc/net/ip_vs를 떠서, 확률 트릭이 사라지고 rr 스케줄러로 균등 분배되며 ClusterIP가 kube-ipvs0에…
-
Service는 실체가 없다 — kube-proxy가 iptables로 트래픽을 꽂는 법
A4에서 ‘ClusterIP는 IP지만 :Port 고정이라 L4’라고 했다. 그 ‘왜’의 실체는 iptables다. 지금 이 클러스터의 kube-proxy에서 실제 룰을 그대로 떠서, ClusterIP가 어떤 프로세스도 아니라 KUBE-SERVICES▸KUBE-SVC(확률 분기)▸KUBE-SEP(DNAT)라는…
-
[관측 확장 #2] 접속자를 지도 위에 올리기 — 똑같이 생긴 “No data” 를 네 갈래로 가르는 법
접속자 IP 를 좌표로 바꿔 Grafana Geomap 에 올리는 일에서 어려운 쪽은 배선이 아니라 빈 패널의 원인을 가르는 일이었습니다. 라벨 폭발로 로그가 상류에서 버려지는 것,…
-
ConfigMap·Secret — 코드와 값을 떼어놓기 (그리고 cgroup으로 수미상관)
같은 이미지를 dev·prod에서 그대로 쓰되 바뀌는 값만 밖에서 주입한다 — 그 장치가 ConfigMap(설정)과 Secret(민감값)이다. 실제 kubectl 콘솔로 주입을 확인하고, ‘Secret은 암호화가 아니라 base64’라는 함정과, limits가…
-
[관측 확장 #1] 활동 모니터를 PostgreSQL 위에 다시 그리기 — 누적 카운터와 순간 표본은 다른 물건이다
진단 화면은 베낄 수 있지만 그 화면을 떠받치는 계측은 베낄 수 없습니다. SQL Server 의 활동 모니터를 PostgreSQL 대시보드로 옮기면서, 누적 카운터와 순간 표본의 차이…
-
[측정 보고서] 홈서버의 TCP 수신 윈도우·MSS·수신 처리량 — 값이 아니라 식을 남긴다
집 서버의 TCP 수신 창과 MSS를 재고, 그 값이 어떤 식에서 나오는지 커널 파라미터까지 거슬러 확인했습니다. 소켓에서 파일 버퍼로 읽는 속도는 858 MB/s, 실제 네트워크…
-
[게임] 몬스터 능력치는 코드가 아니라 데이터다 — Type Object 패턴과 포켓몬의 두 시트
몬스터 종류가 늘 때마다 클래스를 하나씩 만들면 어디서 무너질까. ‘종족은 무엇인가’와 ‘이 개체의 지금 상태’를 나누는 Type Object 패턴을, 포켓몬의 종족값 시트와 인카운터 테이블이라는 실제…
-
[홈랩 검증기] 안전장치가 안전하지 않았습니다 — Vault로 평문 Secret 11개를 걷어낸 기록
집 서버의 평문 Secret 11개를 HashiCorp Vault로 옮겼습니다. 그런데 정작 기록에 남을 만한 것은 이행 자체가 아니라, 그 과정에서 안전을 보장한다고 믿었던 장치들이 하나씩 제…
-
Service·ClusterIP·NodePort·Ingress — 트래픽을 어떻게 꽂나
Pod IP는 수시로 바뀐다. 그 앞에 고정된 접속 창구를 세우는 것이 Service다. Service(ClusterIP·NodePort·LoadBalancer)와 Ingress를 한 줄 정의로 갈라내고, 실제 kubectl 콘솔로 ‘Pod가 바뀌어도 ClusterIP는 그대로’임을…
-
[홈랩 검증기] TCP는 붙는데 HTTP만 죽었다 — Cilium L7 프록시를 계층별로 배제한 기록
HTTP readiness probe를 쓰는 파드 9개만 동시에 NotReady가 됐습니다. exec·tcp probe 파드는 멀쩡했고 DNS도 서비스 VIP도 정상이었습니다. TCP는 붙는데 HTTP 응답만 오지 않는 상태를 계층별로…