서비스를 멈추지 않는 DB 변경의 확장·축소 순서
운영 DB의 컬럼을 바로 이름 바꾸거나 삭제하면 구 버전 애플리케이션이 아직 그 필드를 읽고 있을 수 있습니다. 무중단 변경은 확장과 축소를 여러 배포로 나눕니다.
NOTES
모델을 만들고, 웹과 앱을 짓고, 업무를 자동화할 때 쓰는 설계 기준과 점검 항목을 정리합니다. 프로젝트에서 직접 잰 수치가 있는 글은 본문에 따로 밝힙니다.
TOTAL 4 · 데이터·아키텍처
운영 DB의 컬럼을 바로 이름 바꾸거나 삭제하면 구 버전 애플리케이션이 아직 그 필드를 읽고 있을 수 있습니다. 무중단 변경은 확장과 축소를 여러 배포로 나눕니다.
주문은 DB에 저장됐는데 이벤트 발행이 실패하면 후속 시스템이 주문을 모를 수 있습니다. 반대로 이벤트만 먼저 나가면 존재하지 않는 주문을 처리할 수 있습니다.
이벤트에 필드를 추가하는 작은 변경도 오래된 구독자를 멈출 수 있습니다. 발행자와 구독자가 서로 다른 시점에 배포된다는 전제로 스키마를 바꿔야 합니다.
CDC는 DB 변경을 다른 시스템으로 옮기는 편리한 방법이지만 ‘한 번만, 순서대로, 빠짐없이’ 전달된다고 가정하면 위험합니다. 변경 스트림의 경계와 복구 절차를 알아야 합니다.