Heim  >  Artikel  >  WeChat-Applet  >  Der Unterschied zwischen der Cloud-Entwicklung kleiner Programme und der Nicht-Cloud-Entwicklung

Der Unterschied zwischen der Cloud-Entwicklung kleiner Programme und der Nicht-Cloud-Entwicklung

Guanhui
GuanhuiOriginal
2020-05-29 17:50:3922516Durchsuche

Der Unterschied zwischen der Cloud-Entwicklung kleiner Programme und der Nicht-Cloud-Entwicklung

Der Unterschied zwischen Mini-Programm-Cloud-Entwicklung und Nicht-Cloud-Entwicklung

1. Für die Cloud-Entwicklung ist kein Server erforderlich Bietet eine kostenlose Basisversion. Wenn es sich um eine Nicht-Cloud-Entwicklung handelt, müssen Sie einen Server erstellen.

2. Cloud-Entwicklungsprojekte können schnell gestartet und in der Datenbank hinzugefügt, gelöscht, geändert und gespeichert werden, ohne auf externe Cloud-Server angewiesen zu sein.

Die Fallstricke der WeChat Mini-Programm-Cloud-Entwicklung

1. Der CDN-Verkehr der Basisversion ist zu gering

In meinem Fall: Bei einem aktuellen Projekt dauerte es allein während der Entwicklungs- und Testphase 765 MB, um die Bilder des Albums in Originalqualität hochzuladen/herunterzuladen (vier bis fünf Tage). Denn nachdem das Projekt online gegangen ist, muss es jeden Tag von Hunderten von Benutzern verwendet werden. Wenn es dem entspricht, was ich getestet habe, kann der CDN-Verkehr in zwei Tagen aufgebraucht sein. Sobald der CDN-Verkehr aufgebraucht ist, kostet das Upgrade der Konfiguration mindestens 30 Yuan pro Monat. Zu diesem Preis können Sie einen guten Objektspeicherdienst außerhalb kaufen.

Aber zum Glück habe ich dieses Problem relativ früh entdeckt und die Qualität der hochgeladenen Bilder rechtzeitig kontrolliert. Das Programm komprimiert die Bilder jedes Mal automatisch, wenn ich sie hochlade. Jedes Bild ist etwa 200 KB groß und wurde nur verbraucht seit der offiziellen Nutzung ca. 1 MB CDN-Verkehr empfangen. (Die durchschnittliche Anzahl aktiver Benutzer pro Tag liegt bei etwa 60)

2. Cloud-Datenbanken unterliegen vielen Einschränkungen

Ich denke, diese Falle ist für mich die größte. Die Einschränkungen von Cloud-Datenbanken haben zwei Aspekte . Der erste Aspekt ist die Begrenzung der Anzahl der vom Miniprogramm erhaltenen Datenelemente. Der zweite Aspekt sind Einschränkungen der Lese- und Schreibberechtigungen für Cloud-Datenbanken.

(1) Miniprogramm-Leselimit

Das Miniprogramm fordert direkt die Datenbank an und kann jedes Mal bis zu 20 Daten lesen

Verwenden Sie Cloud-Funktionen, um die anzufordern Datenbank und lösen Sie dann die Cloud-Funktion über das Applet aus und lesen Sie jedes Mal bis zu 100 Datenelemente

Wenn jedes Mal mehr als 100 Datenelemente angefordert werden müssen, müssen Sie zum Anfordern „Überspringen“ verwenden Die einzelnen Vorgänge können in der offiziellen Dokumentation oder in anderen Blogs eingesehen werden.

(2) Einschränkungen bei Lese- und Schreibberechtigungen für Cloud-Datenbanken

Bevor ich über diese Gefahr spreche, möchte ich sagen, dass die Mini-Programm-Cloud-Datenbank eine nicht relationale Datenbank ist und keine gemeinsamen Abfragen mit Fremddaten verwenden kann Schlüssel und Innenschlüssel. (Für den Kontext irrelevant, in diesem Artikel nicht erwähnt)

Die offensten Berechtigungen der Cloud-Datenbank sind: für alle Benutzer lesbar und nur vom Ersteller änderbar.

Das heißt, wenn Sie einen Datensatz erstellen, können andere ihn nicht ändern oder löschen, was zu einer Reihe von Problemen führt. Hier ist ein Beispiel meines aktuellen Projekts.

Beispiel: Es gibt derzeit einen Mehrplatz-Studienraum, den Benutzer für jede Reservierung buchen können. Nach Ablauf dieser Zeit kann der Sitzplatz erneut gebucht werden.

Ein einfaches Szenario: Die Lernraumtabelle in unserer Datenbank sollte die folgenden drei Hauptfelder haben: Lernraumidentifikation (r_id), Ablaufzeit des Lernraums (r_date) und ob der Lernraum reserviert werden kann (r_flag).

Wenn sich ein Benutzer für die Reservierung eines Lernraums entscheidet, muss ich nur feststellen, ob das r_flag des Lernraums wahr ist. Wenn dies der Fall ist, kann der Benutzer ihn reservieren aktualisiert und r_flag ist auf false gesetzt.

Die offensten Berechtigungen für die Cloud-Datenbank, die von Mini Program Cloud Development bereitgestellt werden, sind jedoch für alle Benutzer lesbar und können nur vom Ersteller geändert werden. Infolgedessen funktioniert die obige Logik nicht. Wir benötigen eine komplexere Logik, um diese Funktion zu implementieren.

Was ich damals gemacht habe, war: Jedes Mal, wenn ein Benutzer eine Reservierung für einen Lernraum vornimmt, ein Datenelement einzureichen und alle Reservierungsdaten für jeden Lernraum in der Reihenfolge der Zeit in Stapeln abzulegen Letzte Reservierung oben Auf diese Weise muss jemand bei der nächsten Reservierung nur vergleichen, ob das r_date der Top-Daten erreicht ist, um festzustellen, ob der Lernraum derzeit reserviert werden kann. Implementieren Sie eine Überschreib- und Löschfunktion, ohne den Datensatz zu ändern.

3. Es gibt viele Einschränkungen bei der Öffnung zur Außenwelt

Ein normales Miniprogrammprojekt wird im Allgemeinen mit einem Backend-Managementsystem ausgestattet. Dieses Backend-Managementsystem und das Miniprogramm teilen sich eine Datenbank Daten zu verwalten. Da sich die Cloud-Datenbank, die mit der Cloud-Entwicklung des Miniprogramms geliefert wird, innerhalb des Miniprogramms befindet, ist ein etwas komplizierter Prozess erforderlich, wenn Außenstehende auf diese Datenbank zugreifen möchten:

Verwenden Sie zunächst die offizielle Schnittstelle, um die Anmeldeinformationen zu erhalten , und verwenden Sie dann die angegebenen Anmeldeinformationen über diese Anmeldeinformationsschnittstelle, um die Datenbank hinzuzufügen, zu löschen, zu ändern und zu überprüfen. Darüber hinaus sind die dabei verbrauchten Ressourcen auch in der Grundkonfiguration enthalten und es werden täglich 50.000 Anfragen online gestellt.

Empfohlene Tutorials: „Mini-Programmentwicklung“ „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen der Cloud-Entwicklung kleiner Programme und der Nicht-Cloud-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn