NullcraftSearch
아키텍처

모놀리스를 점진적으로 마이그레이션하기

예측 워크플로가 강조된 분석 인터페이스

가장 안전한 마이그레이션은 몰래 만든 두 번째 시스템이 아니라 작은 소유권 변화의 연속이다. 각 단계는 운영 환경을 이전보다 더 단순하게 만들어야 한다.

실제 경계 찾기

명확한 언어, 작은 데이터 표면, 독립적인 변경 주기를 가진 기능을 선택했다. 다이어그램만으로는 충분하지 않았다. 커밋 이력과 장애 소유권이 더 나은 근거를 제공했다.

이음새 만들기

호출을 모놀리스 내부의 하나의 타입 있는 인터페이스 뒤로 옮겼다. 이 첫 단계는 배포 토폴로지를 바꾸지 않았지만, 동작을 측정하고 트래픽을 전환할 수 있는 한 지점을 만들어 주었다.

쓰기보다 읽기를 먼저 옮기기

복제된 읽기는 권한을 위험에 빠뜨리지 않으면서 데이터와 성능 가정을 드러냈다. 비교가 안정된 뒤에는 명시적인 인계와 조정 절차 뒤로 쓰기를 옮겼다.

오래된 경로 삭제하기

두 경로가 모두 남아 있는 동안 마이그레이션은 끝난 것이 아니다. 측정된 관찰 기간이 지난 뒤 플래그, 중복 테이블, 호환성 어댑터를 제거해 새 경계가 실제 경계가 되게 했다.