계속 배포하는 경우 서버를 점진적으로 업그레이드하는 경우가 있습니다. 예를 들어 20 개 중 2 개가 모든 것이 정상인 것으로 확인 될 때까지 새 코드를 사용합니다. 새 코드에 데이터베이스 스키마 마이그레이션이 필요한 경우 어떻게됩니까? 필드 폰은 현재 테이블 폰입니다. 20 대의 서버를 모두 업그레이드하지 않는 한 무언가가 망가질 것입니다.지속적인 배포 및 데이터베이스
답변
우리는 항상이 작업을 수행합니다. 우리가하는 일은 응용 프로그램에서 작업중인 데이터베이스의 "버전"을 확인한 다음 조건부로 작동하는 메서드를 만드는 것입니다. 기본적으로 응용 프로그램은 이전 시나리오와 새로운 시나리오 모두에서 올바르게 작동합니다.
체크 아웃/계약을 확장 데이터베이스 패턴 : http://exortech.com/blog/2009/02/01/weekly-release-blog-11-zero-downtime-database-deployment/
은 일시적 일이 모두 이전 및 새 위치에 있도록 데이터를 복제합니다. 오래된 쿼리는 작동해야하며 새로운 쿼리도 작동해야합니다. 테스트 환경에서 자동화 된 테스트를 수행 할 수 있습니다. 모든 서버가 새 버전으로 이동하면 "계약"을 실행하여 "이전"스타일 데이터를 제거합니다.
누가 데이터를 복제합니까? 이전 응용 프로그램 서버는 새 테이블에 대해 아무것도 모릅니다. –
업데이트 스크립트. 따라서 데이터는 기존 애플리케이션 서버가 예상하는 위치에 남아 있으며 새로운 애플리케이션 서버가 기대하는 새로운 위치로 이동합니다. 사소한 접근 방식은 아니지만이 시나리오에서 도움이 될 수 있습니다. – EricMinick
업데이트 스크립트가 한 번 실행됩니다. 그 후에 "오래된"앱 서버는 이전 위치에 새로운 데이터를 저장합니다. 누가 데이터를 복사 할 지 확신하지 못합니다. –
- 1. Eclipse에서 지속적인 Android 배포
- 2. AWS의 지속적인 배포 - C++
- 3. Azure 클라우드 서비스 및 Git 지속적인 배포?
- 4. 효율적인 확장을위한 지속적인 배포 환경 설정
- 5. TFSPreview.com 및 TFS의 여러 솔루션에 대한 Azure 지속적인 배포
- 6. 데이터베이스 배포
- 7. 클라이언트 컴퓨터에 데이터베이스 배포
- 8. WPF에 응용 프로그램 및 데이터베이스 배포
- 9. 데이터베이스 배포 (vsdbcmd.exe) : DatabaseName 및 DefaultDataPath가 무시됩니까?
- 10. MVC 3의 C# - 배포 및 MySQL 데이터베이스
- 11. 업데이트로 데이터베이스 배포
- 12. CD로 배포 할 데이터베이스
- 13. ASP.NET MVC3 데이터베이스 배포
- 14. 데이터베이스 드라이버 배포
- 15. 데이터베이스 프로젝트 사전 배포
- 16. Visual Studio 2010 데이터베이스 프로젝트 배포 전략
- 17. Teamcity 및 Clearcase와의 지속적인 통합
- 18. xpages 및 domino의 지속적인 연결
- 19. 데이터베이스 배포 문제
- 20. 자동화 데이터베이스 프로젝트 배포
- 21. 데이터베이스 배포 우수 사례
- 22. 데이터베이스 프로젝트 배포 프로세스
- 23. 데이터베이스 프로젝트 배포
- 24. 데이터베이스 프로젝트 배포
- 25. TFS 데이터베이스 배포 솔루션
- 26. ASP.Net MVC와의 지속적인 통합
- 27. WebDeploy를 사용하여 데이터베이스 업데이트 배포
- 28. 데이터베이스 배포 : 스크립트 또는 백업
- 29. Sandbox 환경의 TFS 데이터베이스 배포
- 30. VS2010 데이터베이스 프로젝트 배포 문제
"이전"및 "새"서버 모두에 대해 하나의 데이터베이스 만 있습니다. 그래서 새로운 서버는 테이블 폰에 새로운 "전화"값을 삽입 할 수 있고, 변화가없는 오래된 서버는 일반 전화 필드에서 그것을 찾지 않고 찾을 것입니다. –