Démarrer avec le serveur de base zéro: Hello World

Alibaba Cloud Start Laboratory 2021-09-15 08:22:52
marrer avec le serveur base


DeServerless,Dis bonjour au monde.

Contexte

Qu'est - ce queServerless

Depuis2006Année8Mois9Jour,GoogleDirecteur général Eric·Schmidt(Eric Schmidt)Au Congrès des moteurs de recherche(SESSanJose2006)Présenté pour la première fois"Informatique en nuage"(Cloud Computing)Après le concept de,Le développement de l'informatique en nuage peut être décrit en termes de changement rapide.Qu'est - ce queServerlessEt alors??

En termes simples,ServerlessUne architecture, pour ainsi dire,Un produit du développement de l'informatique en nuage,Quant à ce qu'estServerless,Peut - être que personne ne peut lui donner un concept clair,Si vous voulez dire un concept qui peut être un peu plus facile à comprendre,C'est peut - être une référence.Martin FowlerIn《Serverless Architectures》- Oui.ServerlessC'est la définition.:Serverless=BaaS + FaaS. image.png ServerlessDifférences entre l'architecture et les projets traditionnels

Tout d'abord,,Nous utilisons unWebExemple de service: image.png Dans cette image,Les règles de routage peuvent être impliquées dans le serveur、Logique d'authentification et autres codes d'affaires complexes.En même temps,L'équipe de développement doit consacrer beaucoup d'efforts à l'exploitation et à la maintenance de ce serveur.,Par exemple, restez concentré sur les questions suivantes:

Si le serveur doit être agrandi en cas d'augmentation soudaine du nombre de clients. Si les scripts et le Code d'affaires sur le serveur fonctionnent toujours correctement. Y a - t - il des hackers qui attaquent constamment le serveur?.

Quand nous changeons cette penséeServerlessAprès la logique,C'est comme ça.: image.png Peut être considéré comme,Lorsque le client et la base de données ne changent pas,Les serveurs changent énormément.

Le module d'acheminement et le module d'authentification qui doivent être maintenus par l'équipe de développement seront accessibles au fournisseur de services.APISystème de passerelle et système d'authentification,L'équipe de développement n'a pas besoin de maintenir ces deux parties du Code d'entreprise,Il suffit de maintenir les règles pertinentes en permanence.

Sous cette structure,Le Code d'affaires est également divisé en granularité fonctionnelle,Différentes fonctions représentent différentes fonctions.

Nous n'avons pas vu l'existence du serveur,Parce queServerlessL'objectif est de permettre aux utilisateurs de se concentrer uniquement sur leur propre logique d'entreprise.,Donc une partie du problème de sécurité、Problèmes d'ordonnancement des ressources(Par exemple, le nombre d'utilisateurs augmente considérablement、Comment réaliser l'expansion automatique de la capacité, etc.)Tout est sous la responsabilité du fournisseur de Cloud.

Par rapport aux projets traditionnels,Projets traditionnels avec ou sans accès utilisateur,Tous les services sont en cours d'exécution,C'est un coût.,EtServerlessEn termes,Seulement lorsqu'il est utilisé pour lancer une demande,La fonction est activée et exécutée,Et facturera en fonction de la quantité,Relativement parlant, il peut être supporté quand il y a du trafic,Pas de dépenses sans flux,En termes relatifs,Les coûts seront encore réduits.

Par l'analyse et la description ci - dessus,C'est facile à voir.ServerlessLa différence entre l'architecture et le modèle de développement traditionnel,Et a progressivement découvert ses avantages.Mais la question se pose.,Beaucoup de travail a été confié aux fournisseurs de Cloud,Qu'est - ce qu'on fait?? image.png UtiliserServerlessAvantages de l'architecture

D'après ce qui précède, il n'est pas difficile de voir,Par rapport aux projets traditionnels,ServerlessAvantages suivants:

Vous n'avez pas besoin d'acheter et de gérer des infrastructures telles que des serveurs,Faible coût d'exploitation et d'entretien. Vous n'avez qu'à vous concentrer sur le développement de la logique d'entreprise,Conception d'un langage de développement supporté par l'informatique fonctionnelle、Optimisation、Tests、Vérifier et télécharger votre propre code d'application. Déclenche l'application pour répondre aux demandes des utilisateurs d'une manière axée sur l'événement.Stockage d'objets alicloudOSS、APIPasserelle、Services de journalisation et de stockage de formulaires,Aide à construire rapidement des applications.Par exemple,AdoptionOSSRésoudre les problèmes de stockage d'images et de vidéos,Quand de nouvelles données sont écrites à votreOSSRessources,Fonction de déclenchement automatique pour le traitement des données. Fournir une requête de journal、Dépannage rapide des fonctions de surveillance des performances et d'alarme. Échelle élastique de niveau milliseconde,Expansion rapide du sous - sol pour faire face aux pressions de pointe. À la demande,Prise en charge des frais de niveau 100 MS.Il suffit de payer pour les ressources informatiques réellement utilisées,Convient aux scénarios d'accès des utilisateurs avec des pics et des vallées évidents.

En résumé,ServerlessEst développé sur la technologie traditionnelle des conteneurs et la grille de service,Il s'agit plus d'une combinaison de services d'arrière - plan et de services fonctionnels..Pour les développeurs,Capacité de se concentrer davantage sur les services fonctionnels,Mettre davantage l'accent sur le fait que les utilisateurs se concentrent uniquement sur leur propre logique d'entreprise.

En même temps,ServerlessC'est aussi le résultat inévitable du développement de l'informatique en nuage à un certain stade..En tant que technologie inclusive,Les objectifs du développement de l'informatique en nuage doivent être les produits de la technologie verte et de la technologie de masse.------EtServerlessC'est une bonne interprétation.:Maximiser l'utilisation des ressources、Réduire le gaspillage des ressources inutilisées;Réduire les coûts d'apprentissage et d'utilisation.

ServerlessL'architecture est appelée"A vraiment atteint l'objectif initial de l'informatique en nuage",C'est un peu exagéré.,Mais d'un autre côté, ils ont montré queServerlessAttentes et confiance dans l'architecture.Depuis2012Depuis sa création,ServerlessL'architecture aussi.7Année,En train de mûrir.

Ouvrir et entrer dans alicloudServerlessProduits

1.Via la page d'accueil d'alicloud,Trouver"Produits"->"Calcul élastique"->"Serverless"->"Calcul de la fonctionFC" image.png
2.Cliquez pour entrer le calcul de la fonctionFCPage de image.png
3. Cliquez sur le bouton gérer la console,Et enregistrer le compte/Débarquement image.png
4.Ouverture du Service de calcul de la fonction pour la première fois,Protocole à lire,Et d'accord.(Cliquez sur1Boîte de sélection dans),Puis cliquez sur Ouvrir maintenant dans le coin inférieur droit
5.Après être entré dans la console,Si le coin supérieur droit a“Découvrez la nouvelle console”Boutons,Veuillez cliquer sur ce bouton,S'il n'y a pas de bouton,Vous pouvez sauter cette étape image.png

Créer des services et des fonctions

1.Après avoir sélectionné les services et les fonctions à gauche,Le service peut être créé en premier image.png 2. Rappel par page,Définir le nom du Service,Les informations descriptives peuvent ensuite être remplies de façon sélective.、Service de journalisation et suivi des liens activés,Cliquez sur OK. image.png 3. Après la création du Service,Vous pouvez créer des fonctions image.png 4. Il nous faut un nom de fonction scorpion.,Choisissez un environnement de programmation familier,Et définir une spécification de mémoire,Enfin, cliquez sur créer image.png 5. Une fois créé, vous pouvez le faire dans la zone de code,Écrire le Code,Par exemple, par défautHello World

# -*- coding: utf-8 -*-
import logging
# To enable the initializer feature (https://help.aliyun.com/document_detail/158208.html)
# please implement the initializer function as below:
# def initializer(context):
# logger = logging.getLogger()
# logger.info('initializing')
def handler(event, context):
logger = logging.getLogger()
logger.info('hello world')
return 'hello world'

6.Après un changement de code,Le système avertit,Nous devons déployer le Code image.png 7. Après le déploiement du Code,Nous pouvons tester la fonction image.png Une fois le test terminé,Vous pouvez voir le résultat finalreturnSera affiché comme résultat de retour,Intermédiairelogger.infoSera affiché comme sortie de journal

Créer unHello World

Dans le processus,Nous avons créé un cas où une fonction est déclenchée par un autre déclencheur,Nous pouvons maintenant créer unHTTPCas de demande de fonction de déclenchement.

Quelques points à noter à ce stade:

Qu'est - ce qu'un déclencheur:https://help.aliyun.com/document_detail/53102.html Qu'est - ce queHTTPDéclencheur:https://help.aliyun.com/document_detail/71229.html

Créer une nouvelle fonction,Et quand vous créez une fonction,Sélectionner“AdoptionHTTPDéclenchement de la demande” image.png 2. Après la création,Contrairement au Code que je viens de lire,,C'estHttpLe Code déclenché contientHttpInformations sur

# -*- coding: utf-8 -*-
import logging
HELLO_WORLD = b'Hello world!\n'
# To enable the initializer feature (https://help.aliyun.com/document_detail/158208.html)
# please implement the initializer function as below:
# def initializer(context):
# logger = logging.getLogger()
# logger.info('initializing')
def handler(environ, start_response):
context = environ['fc.context']
request_uri = environ['fc.request_uri']
for k, v in environ.items():
if k.startswith('HTTP_'):
# process custom request headers
pass
# do something here
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return [HELLO_WORLD]

Sur les languesHTTPLe cas de la méthode de déclenchement peut être référencé dans la documentation:https://help.aliyun.com/document_detail/71229.html#title-h8k-hhq-xiu

Il y a des liens de cas correspondants en bas du document: image.png 3. Après la création de la fonction d'achèvement,Nous pouvons faire une vue de déclenchement image.png 4. Je vois.,Un autre sous cette fonctionHTTPDéclencheur,Avec une adresse de demande,On peut passer parPOSTMANAttendre les outils,Tester cette adresse: image.png Instructions supplémentaires:Si vous ouvrez l'adresse demandée directement dans le Navigateur,La réponse sera téléchargée en pièce jointe.C'est parce que Http Les déclencheurs sont automatiquement ajoutés à l'en - tête de réponse Content-Disposition: attachment Champ.Les développeurs peuvent utiliser des noms de domaine personnalisés pour éviter ce problème.Personnaliser le document de nom de domaine:https://help.aliyun.com/document_detail/90759.html

Jusqu'à présent, nous avons terminé le calculHello WorldCAS

Plus d'expérience de scène àhttps://developer.aliyun.com/adc/labs/

版权声明
本文为[Alibaba Cloud Start Laboratory]所创,转载请带上原文链接,感谢
https://qdmana.com/2021/09/20210914162326892S.html

  1. Fatal Magic: countless sacrifices under gorgeous magic
  2. Mon expérience d'entrevue principale est partagée avec l'expérience d'apprentissage
  3. Mon expérience d'entrevue Android de Tencent partage, plugin Android
  4. Partage de questions d'entrevue Java à double saut d'octets non - premier cycle, un article vous apprend à gérer l'entrevue réseau informatique,
  5. Questions d'entrevue CSS (notes)
  6. Syntaxe de base de la classe
  7. Héritage de classe
  8. Mise en œuvre simple de 30 minutes pour un filtrage rapide des chaînes de tableau 10W +.
  9. Vue 3 tri des documents démarrage rapide
  10. Collection de code de base JavaScript (1)
  11. National secret nginx Container actual Fighting
  12. Quelques lignes de css pour rendre votre page tridimensionnelle
  13. C'est super détaillé, de "finir" ce 300 pages de 1000 questions d'entrevue,
  14. Take you in-depth understanding of nginx basic login authentication (including all configuration steps and in-depth analysis)
  15. Après avoir mangé, assurez - vous d'augmenter votre salaire de 5K et de rester debout tard pour trier les questions d'entrevue Java de millet.
  16. Résumé des questions d'entrevue pour les entreprises Internet nationales de première ligne, qui doivent être posées lors de l'entrevue d'emploi Java de la grande usine en 2021,
  17. "L'amour à première vue", la nouvelle BMW 2 coupe réelle, vous êtes surpris?
  18. Questions d'entrevue de test avancé de Dachang, liste des compétences de base de l'entrevue Java,
  19. Tableau 2D trié par un champ
  20. JS est souvent utilisé pour déterminer si l'objet est vide
  21. Contrôle de l'arbre en vue converti en style de table
  22. CSS3 animation flash Effect
  23. Discuter des propriétés de la file d'attente pour l'événement bloc
  24. Node around USModules
  25. Webpack - - Premier aperçu (concept de base)
  26. Mise en œuvre du cadre de base mvvm par JS natif
  27. Calculer les propriétés par rapport aux auditeurs, etc.
  28. Configuration standard dockerfile et docker-composer.yml
  29. Collection de questions d'entrevue HTML
  30. Conteneur, définir la largeur et la hauteur ne répond pas?
  31. Introduction et syntaxe des objets (mise à jour à long terme)
  32. Bubble Mart invests in cat galaxy, which is a vertical e-commerce platform around the quadratic element
  33. Exigences et dépendances dans package-lock.json
  34. Mouvement tridimensionnel de la terre, du ciel et de la lune basé sur three.js
  35. Compréhension et analyse de l'objet de base JS
  36. Simple use of status data management (context, mobx, Redux)
  37. Simulated drumming
  38. Array method
  39. Performance optimization issue 03 - HTTP request optimization
  40. Vue learning -- watch listener
  41. Learn more about nexttick in Vue
  42. Talk about some moves used by vue3.0 in the project - External skill chapter (I)
  43. JavaScript genrator generator
  44. La dernière réponse à l'entrevue de développement Android, l'hiver froid de l'industrie
  45. Maserati's motorcycle has less than 10 in the world. It is definitely a work of art
  46. 2021 partage des questions du dernier examen écrit d'entrevue Android, pas d'accord
  47. Programmation asynchrone Java scirp, développement frontal de base
  48. 2021 dernier examen écrit d'entrevue Android, écrit trop bien
  49. Quels aspects doivent être pris en considération dans le tableau principal du distributeur libre - service?
  50. He inherited his mother's hundreds of millions of property for his boyfriend to squander. Unexpectedly, he was ruthlessly abandoned when he had 100 yuan left
  51. The fuel cost is half less than that of fuel vehicles at the same level. Is it really cheap to use song Pro DM?
  52. Le dernier résumé de l'expérience d'entrevue d'embauche de l'école Android de l'usine est nécessaire pour l'usine
  53. Le dernier dictionnaire avancé de programmeurs d'usine, l'expérience d'entrevue d'embauche de l'Agence de développement Android
  54. La dernière collection d'entrevues Android Golden nine Silver ten
  55. L'expérience d'entrevue de l'Ingénieur d'algorithme de saut d'octets, 2 mois d'entrevue Tencent, station B, Netease et ainsi de suite sur 11 entreprises résumé!
  56. La dernière collection d'entrevues d'Android Golden nine Silver ten recommande un projet github
  57. Yuan Li's recent situation revealed that he was obsessed with public welfare, dressed simply and fearless, grew fat, and married an 11-year-old husband
  58. Initial experience of template tool plop of [front end Engineering]
  59. Partager les dernières questions d'entrevue Android haute fréquence avec quelques conseils
  60. Iteratable object and class arrays