2017-08-21 4 views
0

Angenommen, ich verfüge über eine azure sql (paas), in der sich eine VM-Skalierung befindet, wobei jede VM eine in IIS gehostete Website enthält. Vor dem Maßstab habe ich einen Traffic-Manager nur für Website-Updates Zweck (wenn ich ein Update brauche, ich ein zweites Scale-Set mit VMs mit der neuesten Version erstellen und nach dem zweiten Scale-Set deploy, ich ändere den Traffic-Manager, um Verkehr zu den neu erstelltes Skalenset). Die Website ist zu 100% staatenlos. Das Problem stellt sich für mich, nachdem ich das zweite Scale-Set erstellt habe: Wie würde ich Rollout-Skripts auf SQL Azure DB ausführen, ohne Clients zu stören, die die alte Website-Version verbrauchen?So aktualisieren Sie die in Azure ScaleSet gehostete Website

Ich denke über die Verwendung von Mirroring oder eine Art von für die db zu replizieren Transaktionen auf einer zweiten azure db, während es in der gleichen Zeit Rollout-Skripts ausgeführt wird. Ich muss dann nur noch den Verkehr von der Live-Waage abschneiden und warten, bis die Sitzungen ablaufen, und dann zu dem neuen Maßstab wechseln. Ist das ein guter Ansatz? Ich sehe, dass ich die "immer an" Fähigkeit verliere, die ich wirklich brauche. Ich kenne wirklich nicht die beste Praxis, ein Buch oder eine Verbindung würde sehr geschätzt werden.

Kurz gesagt, ich möchte auch für geplante Anwendungsupdates so "hochverfügbar wie möglich" bleiben. Wie kann ich das erreichen?

Antwort

1

Versuchen Sie, eine weitere SQL Azure-Datenbank zu verwenden. Ihr Traffic-Manager könnte auch angeben, welche der beiden SQL Azure-Datenbanken aktiv ist. Stellen Sie Änderungen an der passiven Datenbank bereit, und aktualisieren Sie dann die Traffic-Manager-Datenbank, um die passive Datenbank zur neuen aktiven Datenbank zu machen.

Verwandte Themen