Skip to content

docs(decisions): 운영 binlog 반출기 분기점 - #854

Merged
Khyojae merged 1 commit into
mainfrom
docs/binlog-shipper-ops
Nov 11, 2026
Merged

Khyojae merged 1 commit into
mainfrom
docs/binlog-shipper-ops

Conversation

@Khyojae

@Khyojae Khyojae commented Nov 11, 2026

Copy link
Copy Markdown
Member

무엇

docs/decisions/binlog-shipper-ops.md 추가 + docs/decisions/README.md 목록 한 줄.

rpo-rto-targets.md 에서 구성 2(백업 + binlog 서버 밖 반출)를 채택했지만, 반출기는 측정용 셸 함수
(loadtest/results/hostloss-rpo-2026-11-07/hostloss_rpo.sh:138)뿐이다. 이 문서는 그걸 운영에서 믿고 맡길
것으로 바꾸는 분기점이다 — 후보와 추천까지, 채택 표시 없음.

내용

  • 실무 세 갈래 비교 — 관리형(RDS, 5분마다 로그 업로드) · 서버 옆 업로더(Percona Operator PITR) · 실시간 받기(Binlog Server). 우리 구성 2 = 갈래 B
  • D1~D8 항목별 후보·대가·추천
    • D1 같은 서버 compose 사이드카 · D2 주기마다 FLUSH · D3 S3 목록이 정답
    • D4 자동 삭제 끄고 S3 확인된 것만 PURGE — 조용한 체인 끊김 대신 디스크 알림으로
    • D5 S3 경로에 서버 구분 — 복구한 새 서버는 binlog 번호가 1부터라 덮어쓰기 위험(WAL-G #1636 과 같은 모양)
    • D6 지표까지만 — 운영 compose 에 Prometheus 가 없어 알림은 모니터링: mysqld_exporter는 붙어있지만 읽기/쓰기 TPS(Com_select/Com_insert 등) 대시보드 패널이 없다 #673~680 으로 넘김
    • D7 서버는 올리기·목록만 + 버킷 버전 관리 · D8 직접 구현(WAL-G MySQL 은 스스로 «불안정»)
  • 동작 순서 · 실패 모드 표 · 재야 할 것(FLUSH 가 쓰기를 막는 시간 등) · 다시 여는 조건

사용자 결정 남은 것

  • 알림 기준 k (반출 주기 Q4 가 정해진 뒤)
  • D4 서버에 남길 범위 · D7 암호화(SSE-S3 vs KMS) · Object Lock(Q6 뒤)
  • 숫자(Q4 반출 주기 · Q6 백업 주기·보존 기간)는 이 문서가 아니라 rpo-rto-targets.md 에 둔다

문서만 바뀌어 /verify 대상 아님.

🤖 Generated with Claude Code

구성 2(백업 + binlog 서버 밖 반출) 채택 뒤 남은 «반출기를 운영에서 어떻게 돌리나» 를 정리한다.
실무 세 갈래(관리형 · 서버 옆 업로더 · 실시간 받기)를 비교하고, 서버 옆 업로더(갈래 B)를 직접
구현하는 방향 안에서 D1~D8 항목별 후보·대가·추천을 적었다. 채택 표시는 없다.

- D4 삭제: 자동 삭제를 끄고 S3 확인된 파일만 PURGE — 조용한 체인 끊김 대신 디스크 알림으로
- D5 잇기: S3 경로에 서버 구분 — 새 서버는 binlog 번호가 1부터라 덮어쓰기 위험
- D6 감지: 마지막 성공 시각 등 지표까지만, 알림은 #673~680 으로 넘김(운영 compose 에 Prometheus 없음)
- D7 보호: 서버는 올리기·목록만 + 버킷 버전 관리
- 숫자(반출 주기 Q4 · 백업 주기·보존 기간 Q6)는 rpo-rto-targets.md 에 남긴다

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Khyojae

Khyojae commented Nov 11, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Explain Change →

Caution

Review failed

The pull request is closed.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@coderabbitai

coderabbitai Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Action not completed

Pull request is closed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@Khyojae
Khyojae merged commit 610112e into main Nov 11, 2026
0 of 2 checks passed
@Khyojae
Khyojae deleted the docs/binlog-shipper-ops branch November 11, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant