Infra
글 6편
-
초당 85줄 로그가 그날의 매도 체결 기록을 지웠다
문제: 로그가 너무 많아서 로그가 사라졌다 자동매매 전략의 on_candle 함수는 종목마다, 매 틱마다 호출된다. 여기에 MDD(최대 낙폭) 차단이 걸릴 때마다 logger.info로 로그를 무조건 찍는 코드가 있었다. “차단 중”이라는 상태 하나를 매 틱마다 다시 알리는 셈이다...
-
kubectl exec은 왜 멈추는가 — 셸 스크립트에 타임아웃과 재시도 넣기
문제: 스크립트가 멈춘다 이 프로젝트에서 Fabric 네트워크를 올리는 일은 결국 bash 스크립트가 kubectl을 순서대로 호출하는 것이다. 그런데 이 스크립트가 간헐적으로 멈췄다. 에러가 나는 게 아니라 그냥 멈춰 있는다. 폐쇄망에 kind 다중 클러스터 환경이라 네트워크 계...
-
오픈소스 오퍼레이터 버그를 CRD 스키마 패치로 우회하기
문제: 체인코드 상태가 FAILED에서 안 나온다 이 플랫폼에서 체인코드를 배포하면 Kubernetes에 FabricChaincode라는 커스텀 리소스가 만들어진다. hlf-operator가 이 리소스를 보고 실제 체인코드 pod를 띄운다. 그런데 배포가 실제로는 잘 됐는데도 ku...
-
401을 성공으로 취급하는 헬스체크 — 배포 스크립트를 서브커맨드 오케스트레이터로 재설계
훅: 헬스체크가 401을 실패로 보고 있었다 배포 스크립트에 헬스체크가 있었다. 앱을 재시작하고 나서 /monitor/health를 찔러 응답이 오면 성공으로 본다. until "${SSH_CMD[@]}" "$REMOTE_USER@$REMOTE_HOST" \ "curl -fsS '...
-
무료 프록시로 봇 차단을 버티는 크롤러 설계하기
문제: 반복 크롤링이 IP 차단에 걸리기 시작했다 골프 부킹 정보를 10분 주기로 크롤링하는 대시보드를 운영하고 있었다. 문제는 이 반복 패턴 자체가 상대 서버 입장에서는 봇으로 보이기 딱 좋다는 점이었다. 코드에는 _direct_blocked라는 플래그와 “IP 차단 시” 분기가...
-
배포 직후 55분, 핫픽스 4연발 — 문제를 네 번 다시 정의한 하루
09:41 — 배포하자마자 터졌다 프록시 로테이션 기능을 배포한 직후, 실서버에서 크롤링이 작동하지 않았다. 로컬에서는 잘 되던 기능이 배포 환경에서만 실패하는 전형적인 상황이었다. 이후 55분 동안 커밋 네 개가 연달아 올라갔다 — 문제를 하나 고칠 때마다 다음 문제가 드러나는 ...