Etsy Payments는 23개의 테이블에 걸쳐 40억 행을 Vitess 관리 샤딩 환경으로 이동했습니다. 이 문서는 컷오버 중 발생할 수 있는 오류에 초점을 맞추고 있습니다.
Vitess의 트랜잭션 모드를 이해하는 것은 중요합니다. 싱글 모드는 원자성을 유지하지만 멀티 모드는 부분 커밋을 초래할 수 있습니다. 2단계 커밋 모드는 실험적이고 추천되지 않습니다.
역방향 VReplication은 컷오버 후 언샤딩 및 샤딩 키스페이스 간의 데이터 동기화를 보장합니다. 고유 키 적용으로 인해 깨질 수 있으므로 행 삭제 또는 수동 Pos 열 업데이트와 같은 수정이 필요할 수 있습니다.
산란 쿼리(WHERE 절에 샤딩 키가 생략된 쿼리)는 쿼리 볼륨이 과도하게 증가하고 가용성 문제를 초래할 수 있습니다. Vitess는 이제 이러한 쿼리를 방지하는 --no_scatter 플래그를 제공합니다.
호환되지 않는 쿼리는 컷오버 후 실패할 수 있습니다. 개발 환경에서 철저한 테스트가 이러한 쿼리를 확인하고 해결하는 데 필수적입니다.
다른 잠재적 오류로는 Vitess의 최신 버전으로 업그레이드하여 해결할 수 있는 지원되지 않는 SQL 구조와 관련된 오류가 있습니다.
이러한 위험에도 불구하고 컷오버는 일반적으로 되돌릴 수 있습니다. 그러나 그러한 중단의 영향을 신중하게 고려해야 합니다.
etsy.com
Scaling Etsy Payments with Vitess: Part 3 – Reducing Cutover Risk
Create attached notes ...
