継続的な展開では、サーバーを徐々にアップグレードすることがあります。たとえば、すべてが問題ないと確信するまで、20 のうち 2 つが新しいコードを使用します。新しいコードがデータベース スキーマの移行を必要とする場合、たとえばフィールド電話がテーブル電話になった場合はどうなるでしょうか。20台のサーバーすべてをアップグレードしない限り、何かが壊れるでしょう。
2 に答える
1
展開/縮小データベース パターンを確認してください: http://exortech.com/blog/2009/02/01/weekly-release-blog-11-zero-downtime-database-deployment/
古い場所と新しい場所の両方にあるように、データを一時的に複製します。古いクエリも、新しいクエリも機能する必要があります。テスト環境で自動テストを実行して、これを確認できます。すべてのサーバーが新しいバージョンに移行したら、「コントラクト」を実行して「古い」スタイル データを削除します。
于 2012-07-23T15:40:37.603 に答える
0
これは、アプリケーションで常に実行されます。私たちがやっていることは、アプリケーションが動作しているデータベースの「バージョン」をチェックし、条件付きで動作するメソッドを作成することです。基本的に、アプリケーションは古いシナリオと新しいシナリオの両方で正しく動作します。
于 2012-07-23T10:49:57.137 に答える