Können Sie mit magento2 eine Bereitstellung ohne Ausfallzeiten erreichen?

15

Wenn Sie ein neues Modul haben und es ausführen setup:upgrademüssen, sehe ich keine Möglichkeit, Ausfallzeiten zu vermeiden. Es wird immer 10-20 Sekunden dauern, da Sie die Datenbank aktualisieren müssen. Oder vermisse ich etwas?

Auch wenn Sie in einem anderen Ordner bereitstellen und dann, wenn alle Dateien generiert wurden, die Live-Umgebung mit diesem Ordner verknüpfen, müssen Sie sich immer noch um die Datenbank kümmern.

Claudiu Creanga
quelle

Antworten:

2

Ich frage mich, in welcher Umgebung Sie arbeiten, in der Ausfallzeiten von 10 bis 20 Sekunden oder sogar ein paar Minuten einen Dealbreak bedeuten würden. Das ist natürlich nicht ideal, aber ich muss mir vorstellen, dass dies ein relativ geringer Preis ist, insbesondere, wenn Sie das System außerhalb der Stoßzeiten bereitstellen.

M2-Entwicklerdokumentation: Stellen Sie Magento für die Produktion bereit . Zum jetzigen Zeitpunkt sind die Dokumente spärlich und enthalten einen Link zu einem externen GitHub-Problem zur Diskussion. Diese offiziellen Dokumente sind jedoch ein guter Ort, um ein Auge auf sie zu werfen.

Mein Team untersucht die Verwendung von Capistrano zur Bereitstellung von M2. Wir haben uns noch nicht auf einen endgültigen Prozess festgelegt, aber eine einfache Google-Suche ("capistrano magento 2") zeigt, dass eine Reihe von Menschen mit dem gleichen experimentieren.

Schließlich gibt es verschiedene Systeme wie die blaugrüne Bereitstellung , die auch Ausfallzeiten minimieren sollen. Insbesondere Blaugrün ist mit einem Staging-Server vergleichbar, aber zu dem kritischen Zeitpunkt aktualisieren Sie DNS so, dass es von Blau auf Grün zeigt, so dass Grün in Live und Blau in "Staging" umgewandelt wird. Für den nächsten Einsatz wird Blau wieder aktiv. Auf diese Weise beträgt die Ausfallzeit theoretisch null, und Änderungen treten so schnell auf, wie sich die DNS-Änderung verbreitet.

nshiff
quelle
danke für die nützlichen links. DNS verbreitet sich meiner Meinung nach nie schnell genug. Ich würde mich an das Verknüpfen von Ordnern halten. Bereitstellungen außerhalb der Stoßzeiten sind riskant. Nicht-Spitzenzeiten sind im Wesentlichen sehr früh am Morgen oder sehr spät in der Nacht. Wenn Sie ein kleines Unternehmen sind, haben Sie möglicherweise nicht genug Personal dafür.
Claudiu Creanga
1
Ich verstehe nicht wirklich, wie blau-grün hier funktionieren kann, ohne dass alle Arten von Datenbanksynchronisierungen durchgeführt werden müssen, was riskant erscheint. Das Problem ist, dass für die Modulinstallation Datenbank-Updates erforderlich sind.
Rich S
@RichS Für die Software ist das Synchronisieren kein Problem. Aber ja, es kann schwierig werden, den Verlust von Bestellungen oder anderen Kundendaten zu vermeiden - siehe die Quelle, die ich verlinkt habe. Es wird empfohlen, tatsächlich dieselbe Datenbank zu verwenden. Zurück zu der Prämisse der Frage: Wann werden 10 Minuten Ausfallzeit wirklich ein Problem sein? Ich würde zuerst nach einer nicht-technischen Lösung wie der Bereitstellung um 2 Uhr morgens suchen, bevor ich unnötige Komplexität einführe.
Nshiff