점진적 배포에 대해 질문있습니다!
35
작성한 질문수 8
서버 하나씩 배포하는 것이 점진적 배포가 맞을까요? 맞다면 몇 가지 궁금한 것이 있습니다!
도메인의 새로운 정책을 점진적으로 배포해 적용하는 경우 서버마다 정책의 차이가 생길 것 같은데 이런 상황에서 일관성을 어떻게 유지하는지 궁금합니다.
데이터베이스 스키마 변경이 있는 경우에는 쿼리나 로직 자체가 크게 달라질 것으로 예상되는데 이전 버전과 새로운 버전의 서버가 동시에 동작하는 상황에서 어떤 방식으로 호환성을 맞추는 지 궁금합니다.
답변 2
1
실무에서 어떤 문제가 생길 수 있는지까지 깊이 고민하고 질문해주시는 점이 참 좋아요.^^
서버 한 대씩 배포하는 방식이 '점진적 배포'가 맞습니다.
그렇기 때문에 우려하신 것처럼 서비스에서 특히 유의해야 해요.
배포 중에는 배포 완료된 서버와 아닌 서버 간의 로직 차이가 있기 때문에 여러 상황이 발생할 수 있고 그에 맞게 적절히 선택해야 합니다.
일반적으로는 배포된 서버에서도 예전 요청을 처리할 수 있도록 하위 호환을 유지합니다.
간단한 로직 변경: 서로 다르게 동작해도 사용자 경험에 큰 영향 없다면 차이를 감안하고 배포합니다.(도메인, 쿼리 변경 포함)
DB 스키마가 변경된 경우: 한쪽에서 에러가 발생하지 않게끔 옛 코드와 새 코드 모두 동작하도록 설계합니다.
'양쪽 쓰기'를 합니다. (이전 컬럼/테이블에과 새로운 컬럼/테이블 양쪽에 데이터를 쌓음)
배포가 모두 완료된 후에는 새로운 곳에만 쌓게 됩니다.
이전 쪽에만 쌓인 데이터는 batch 시스템으로 데이터를 이전합니다.(마이그레이션)
마이그레이션이 끝나면 이전 컬럼/테이블을 제거합니다.
또는 플래그 방식도 사용할 수 있어요. 코드를 미리 배포해두고 기능을 꺼둠 상태로 둔 다음에 배포가 모두 완료되면 플래그를 켜서 모든 서버에 기능을 적용하게 할 수도 있습니다.
0
애플리케이션, 데이터베이스 레벨 모두 이전 버전과 새 버전을 동시에 유지하는 구간이 존재하군요!
배포가 단순하게 서비스를 제공하는 것으로 끝나는 것이 아니라 사용자들에게 끊임없이 서비스를 제공하면서도 새로운 버전에 기능과 데이터를 안정적으로 적용하고 이전하는 과정까지 포함된다는 점! 확실하게 알았습니다! 감사합니다. 😊
versel 을 통한 배포를 하는 것과 (홈서버 + 클라우드 플래어 프록시)를 하는 것을 비교해주실 수 있나요?
1
196
1
git 토큰 입력 내용이 안뜨는 경우
0
240
2
next14 app router 배포 nginx index.html 물리기
0
769
1
타임리프 + html + RestController를 쓰는 경우 질문 드립니다!
1
554
1
이미 구매해서 문의에는 안써져서 여기에 물어봅니다
0
346
1
마지막 강의 영상에서 배포 자료는 어디서 볼 수 있나요?
0
391
1
배포 관련 질문
0
652
1
뷰 배포도 강의계획 있으신가용??
1
618
1
배포 관련하여 문제가 있습니다.
0
1194
1
api gateway 배포기록 질문
0
320
1
강의 보던 중 프론트엔드 개발자 역할에 대해 질문 있습니다.
1
682
1
AWS 배포 Nginx 502 Bad Gateway 오류
0
969
0
로컬환경에서 개발 후 운영환경으로 배포 시 발생하는 이슈에 대한 문의입니다.
1
587
2
실제 배포한 ip에서는 쿠키가 생성이되지않고 passport중에deserializeUser호출이 안됩니다.
0
615
2
SSR/SSG 배포 관련해서 문의드립니다.
1
818
1
Heroku 배포 질문 입니다.
0
366
2
heroku 배포에 관하여
1
466
4
aws에 s3 버킷으로 client 빌드된것을 배포할때 proxy가 안먹히거나 405에러가 뜨는 이유가 무엇일까요?
0
341
0
실습 프로젝트 배포판(jar) 빌드 및 실행시 트러블
1
433
2
배포 때 mysql 사용 방법
0
1133
3
static file 들이 잘 불러와지지 않는것 같습니다...
0
422
1
강의 잘 듣고 있습니다. 프론트 서버 배포에서 막혀서 질문드립니다~
0
476
8
프로그램 완성 후..보안문제
0
362
1
배포를 해보려고하는데요!
1
225
0





