Maison >Applet WeChat >Développement de mini-programmes >La différence entre le développement cloud de petits programmes et le développement non cloud

La différence entre le développement cloud de petits programmes et le développement non cloud

Guanhui
Guanhuioriginal
2020-05-29 17:50:3922622parcourir

La différence entre le développement cloud de petits programmes et le développement non cloud

La différence entre le développement cloud d'un mini programme et le développement non cloud

1. Le développement cloud ne nécessite pas la création d'un serveur Mini Program Cloud. fournit une version de base gratuite, s'il s'agit d'un développement non cloud, vous devez créer un serveur.

2. Les projets de développement cloud peuvent être lancés rapidement et peuvent être ajoutés, supprimés, modifiés et vérifiés dans la base de données, ainsi que dans le stockage d'objets sans recourir à des serveurs cloud externes.

Les pièges du développement cloud du programme WeChat Mini

1 Le trafic CDN de la version de base est trop faible

Dans mon cas Dans un projet récent, rien que pendant la période de développement et de test, il fallait 765 Mo pour charger/télécharger les photos de qualité originale de l'album (quatre à cinq jours). À ce moment-là, j'ai réalisé la gravité de l'affaire, car après la mise en ligne du projet, il doit être utilisé par des centaines d'utilisateurs chaque jour. Si c'est comme ce que j'ai testé, le trafic CDN peut être épuisé en deux jours. Une fois le trafic CDN épuisé, la mise à niveau de la configuration coûtera au moins 30 yuans par mois. À ce prix, vous pouvez acheter un bon service de stockage d'objets à l'extérieur.

Mais heureusement, j'ai découvert ce problème relativement tôt et j'ai contrôlé la qualité des images téléchargées à temps. Le programme compresse automatiquement chaque image téléchargée. Chaque image fait environ 200 Ko. Elle n'a été consommée que depuis son utilisation officielle. . Reçu environ 1 Mo de trafic CDN. (Le nombre d'utilisateurs actifs quotidiens moyens est d'environ 60)

2. La base de données cloud a de nombreuses restrictions

Je pense que cet écueil est le plus profond pour moi. Les limites de la base de données cloud comportent deux aspects. . Le premier aspect est la limite du nombre d'éléments de données obtenus par le mini-programme. Le deuxième aspect concerne les restrictions d’autorisation de lecture et d’écriture de la base de données cloud.

(1) Limite de lecture du mini programme

Le mini programme demande directement la base de données et peut lire jusqu'à 20 éléments de données à chaque fois

Utilisez les fonctions cloud pour demander le base de données, puis déclenchez la fonction cloud via l'applet et lisez jusqu'à 100 éléments de données à chaque fois

Si plus de 100 éléments de données doivent être demandés à chaque fois, vous devez utiliser sauter pour demander dans lots, puis les combiner. L'opération spécifique peut être consultée Documentation officielle ou d'autres blogs.

(2) Restrictions d'autorisation de lecture et d'écriture de la base de données cloud

Avant de parler de cet écueil, permettez-moi de dire que la base de données cloud du mini programme est une base de données non relationnelle et ne peut pas utiliser de requêtes conjointes avec des étrangers clés et clés internes. (Sans rapport avec le contexte, non mentionné dans cet article)

Les autorisations les plus ouvertes de la base de données cloud sont : lisibles par tous les utilisateurs et modifiées uniquement par le créateur.

C'est-à-dire que si vous créez un enregistrement, les autres ne peuvent pas le modifier ou le supprimer, ce qui entraîne une série de problèmes. Voici un exemple de mon projet actuel.

par exemple : il existe actuellement une salle d'étude multi-sièges que les utilisateurs peuvent réserver. Les utilisateurs peuvent choisir une durée d'utilisation pour chaque réservation. Une fois cette période écoulée, le siège peut être à nouveau réservé par d'autres.

Un scénario simple. Dans une logique normale, ces trois champs principaux devraient suffire dans la table de la salle d'étude de notre base de données, l'identification de la salle d'étude (r_id), l'heure d'expiration de la salle d'étude (r_date), si la salle d'étude peut être réservé (r_flag).

Lorsqu'un utilisateur choisit de réserver une salle d'étude, il me suffit de déterminer si le r_flag de la salle d'étude est vrai. Si c'est vrai, l'utilisateur peut réserver une fois la réservation réussie, r_date est actualisé. et r_flag est défini sur false Can.

Cependant, les autorisations les plus ouvertes pour la base de données cloud fournies par Mini Program Cloud Development sont lisibles par tous les utilisateurs et ne peuvent être modifiées que par le créateur. En conséquence, la logique ci-dessus ne fonctionne pas. Nous avons besoin d'une logique plus complexe pour implémenter cette fonction.

Ce que je faisais à l'époque, c'était : soumettre une donnée à chaque fois qu'un utilisateur effectue une réservation pour une salle d'étude, et regrouper toutes les données de réservation pour chaque salle d'étude en piles par ordre de temps, avec le dernière réservation en haut. De cette façon, la prochaine fois que quelqu'un fera une réservation, il lui suffira de comparer si la date r_date des données principales est atteinte pour déterminer si la salle d'étude peut actuellement être réservée. Implémentez une fonction d'écrasement et de suppression sans modifier l'enregistrement.

3. Il existe de nombreuses restrictions d'ouverture sur le monde extérieur

Un projet de mini programme normal sera généralement équipé d'un système de gestion backend. Ce système de gestion backend et le mini programme partagent une base de données. pour gérer les données. Étant donné que la base de données cloud fournie avec le mini programme de développement cloud se trouve à l'intérieur du mini programme, si l'extérieur souhaite accéder à cette base de données, un processus légèrement compliqué est requis :

Utilisez d'abord l'interface officielle pour obtenir les informations d'identification d'appel. , puis utilisez les informations d'identification spécifiées via cette interface d'informations d'identification pour ajouter, supprimer, modifier et vérifier la base de données. De plus, les ressources consommées dans ce processus sont également incluses dans la configuration de base, et 50 000 requêtes sont effectuées en ligne chaque jour.

Tutoriels recommandés : "

Développement de mini-programmes" "Tutoriel PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn