


Créez des microservices à l'aide du framework Web Iris et de Docker de Golang
Avec le développement continu des applications Internet, l'architecture des microservices devient un modèle d'architecture de plus en plus populaire. L'architecture des microservices conçoit les applications en petits services indépendants les uns des autres et pouvant être mis à jour et déployés régulièrement. Avec le développement du cloud computing, du big data et de l’Internet des objets, l’application de l’architecture de microservices va devenir de plus en plus répandue.
Cet article expliquera comment utiliser le framework Web de Golang, Iris et Docker, pour créer des microservices.
1. Introduction à Iris
Iris est un framework web écrit en Go Il est créé et maintenu par l'équipe Kataras. Le code d'Iris est concis et facile à lire, offre d'excellentes performances, prend en charge les styles de programmation asynchrone et synchrone et prend en charge les architectures MVC et RESTful. Iris est un framework Web émergent qui vise à devenir le « framework Web de nouvelle génération ».
2. Introduction à Docker
Docker est une plateforme de conteneurisation open source qui permet aux développeurs de créer, déployer et exécuter rapidement des applications. Grâce à Docker, vous pouvez inclure votre application et toutes ses dépendances dans un seul conteneur, ce qui rend le déploiement d'applications plus facile et plus fiable. Docker améliore non seulement la portabilité des applications, mais réduit également l'utilisation des ressources d'exécution et les conflits.
3. Utilisez Iris et Docker pour créer des microservices
Dans cet article, nous présenterons comment utiliser Iris et Docker pour créer un microservice simple. Le service fournira deux points de terminaison API : /hello et /time . Le point de terminaison /hello renverra le message « Hello, World ! » et le point de terminaison /time renverra l’heure actuelle.
- Créer un projet Golang
Tout d'abord, créez un projet Golang. Créez un projet Iris à l'aide de la commande suivante :
$ go get -u github.com/kataras/iris/v12
Assurez-vous que les variables d'environnement sont définies dans l'espace de travail Go.
Créez le fichier main.go et ajoutez le code suivant :
package main import ( "github.com/kataras/iris/v12" "time" ) func main() { app := iris.New() app.Get("/hello", func(ctx iris.Context) { ctx.JSON(iris.Map{"message": "Hello, World!"}) }) app.Get("/time", func(ctx iris.Context) { ctx.JSON(iris.Map{"time": time.Now().Format(time.RFC3339)}) }) app.Run(iris.Addr(":8080")) }
Dans main.go, nous utilisons iris.New() pour créer une nouvelle instance d'application Iris et utilisons la méthode app.Get() pour définir deux routeurs différents . Le point de terminaison /hello du routeur renverra le message « Hello, World ! » et le point de terminaison /time renverra l'heure actuelle. Enfin, exécutez la méthode app.Run() pour démarrer le service et écoutez les connexions sur le port par défaut 8080.
- Créer un Dockerfile
Ensuite, créez un fichier appelé Dockerfile. Un Dockerfile est un fichier texte qui contient une série d'instructions permettant de créer une image Docker.
Ajoutez le code suivant dans le Dockerfile :
FROM golang:1.16.3-alpine3.13 AS build RUN apk update && apk upgrade && apk add --no-cache bash git openssh WORKDIR /go/src/app COPY . . RUN go get -d -v ./... RUN go install -v ./... RUN go build -o /usr/local/bin/app FROM alpine:3.13 COPY --from=build /usr/local/bin/app /usr/local/bin/app ENTRYPOINT ["/usr/local/bin/app"]
Ce Dockerfile construira notre application basée sur l'image Golang 1.16.3-alpine3.13. Nous avons d'abord mis à jour le package d'installation Alpine3.13 et ajouté les packages bash, git et openssh requis. Ensuite, nous définirons le répertoire de travail, copierons notre code d'application dans le répertoire de travail et téléchargerons les dépendances. Enfin, nous exécutons la commande go build pour créer le fichier exécutable binaire et copions le fichier exécutable binaire dans l'image Alpine3.13 pour créer l'image Docker finale.
- Créez et exécutez le conteneur
Dans le répertoire Dockerfile, utilisez la commande suivante pour créer l'image Docker :
$ docker build -t my-app .
Cette commande créera une image Docker nommée my-app. Nous pouvons utiliser la commande suivante pour exécuter un conteneur Docker :
$ docker run -p 8080:8080 my-app
Cette commande démarrera le conteneur et mappera le port par défaut 8080 au port 8080 de l'hôte à l'aide de l'indicateur -p. Avec l'API publique de l'application exécutée dans le conteneur, nous pouvons tester cette API à l'aide de la commande suivante :
$ curl http://localhost:8080/hello {"message":"Hello, World!"} $ curl http://localhost:8080/time {"time":"2021-05-27T14:14:22+08:00"}
Maintenant, nous avons réussi à créer un microservice simple en utilisant Iris et Docker. Dans les applications réelles, nous pouvons diviser le service en plusieurs microservices pour mieux gérer et faire évoluer l'application.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lire et écrire des fichiers en toute sécurité dans Go est crucial. Les directives incluent : Vérification des autorisations de fichiers Fermeture de fichiers à l'aide de reports Validation des chemins de fichiers Utilisation de délais d'attente contextuels Le respect de ces directives garantit la sécurité de vos données et la robustesse de vos applications.

Comment configurer le pool de connexions pour les connexions à la base de données Go ? Utilisez le type DB dans le package base de données/sql pour créer une connexion à la base de données ; définissez MaxOpenConns pour contrôler le nombre maximum de connexions simultanées ; définissez MaxIdleConns pour définir le nombre maximum de connexions inactives ; définissez ConnMaxLifetime pour contrôler le cycle de vie maximum de la connexion ;

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Il existe de nombreuses façons d'installer Deepseek, notamment: Compiler à partir de Source (pour les développeurs expérimentés) en utilisant des packages précompilés (pour les utilisateurs de Windows) à l'aide de conteneurs Docker (pour le plus pratique, pas besoin de s'inquiéter de la compatibilité), quelle que soit la méthode que vous choisissez, veuillez lire Les documents officiels documentent soigneusement et les préparent pleinement à éviter des problèmes inutiles.

Causes et solutions pour les erreurs Lors de l'utilisation de PECL pour installer des extensions dans un environnement Docker Lorsque nous utilisons un environnement Docker, nous rencontrons souvent des maux de tête ...

Les données JSON peuvent être enregistrées dans une base de données MySQL à l'aide de la bibliothèque gjson ou de la fonction json.Unmarshal. La bibliothèque gjson fournit des méthodes pratiques pour analyser les champs JSON, et la fonction json.Unmarshal nécessite un pointeur de type cible pour désorganiser les données JSON. Les deux méthodes nécessitent la préparation d'instructions SQL et l'exécution d'opérations d'insertion pour conserver les données dans la base de données.

La différence entre le framework GoLang et le framework Go se reflète dans l'architecture interne et les fonctionnalités externes. Le framework GoLang est basé sur la bibliothèque standard Go et étend ses fonctionnalités, tandis que le framework Go se compose de bibliothèques indépendantes pour atteindre des objectifs spécifiques. Le framework GoLang est plus flexible et le framework Go est plus facile à utiliser. Le framework GoLang présente un léger avantage en termes de performances et le framework Go est plus évolutif. Cas : gin-gonic (framework Go) est utilisé pour créer l'API REST, tandis qu'Echo (framework GoLang) est utilisé pour créer des applications Web.

La fonction FindStringSubmatch recherche la première sous-chaîne correspondant à une expression régulière : la fonction renvoie une tranche contenant la sous-chaîne correspondante, le premier élément étant la chaîne entière correspondante et les éléments suivants étant des sous-chaînes individuelles. Exemple de code : regexp.FindStringSubmatch(text,pattern) renvoie une tranche de sous-chaînes correspondantes. Cas pratique : Il peut être utilisé pour faire correspondre le nom de domaine dans l'adresse email, par exemple : email:="user@example.com", pattern:=@([^\s]+)$ pour obtenir la correspondance du nom de domaine [1].
