Utiliser Tye pour aider à développer des applications k8s est aussi simple que cela (II)
Dans le dernier article, explorons les autres façons de Tye de l’utiliser.Jetons un coup d’oeil à la façon d’utiliser la découverte de service dans Tye.
#
Service Discovery - Une partie indispensable du développement des microservateursLa découverte du service est que le module de service nouvellement enregistré peut être découvert par d’autres appelants en temps opportun.La découverte automatique est réalisée indépendamment des ajouts de service et des coupures de service. En savoir plus sur l’inscription au service et discovery https://zhuanlan.zhihu.com/p/161277955
Dans le processus d’appel d’un microservateur, en supposant qu’en appelant une API REST ou une API Thrift, afin de remplir une demande d’appel, le code doit spécifier l’adresse IP et le port où le service est situé, dans les applications traditionnelles, l’adresse réseau et le port sont statiques et généralement ne changent pas, nous avons juste besoin de les faire correspondre au fichier de configuration, nous pouvons compléter l’appel en lisant le fichier de configuration. Toutefois, dans les architectures modernes de microserveurs basés sur le Cloud, cette approche échouera, car les cas de services sont des adresses assignées dynamiquement, et les adresses réseau sont dynamiques, ce qui a l’avantage de faciliter la mise à l’échelle automatique, le traitement des pannes et la mise à niveau des services. « Mécanisme de découverte de service dans l’architecture microserver » https://www.imooc.com/article/details/id/291255
En termes simples, la découverte de service vous permet d’utiliser des noms entre les services au lieu d’adresses et de ports spécifiques ou même des détails d’accès.Il est ainsi plus facile pour les services d’être utilisés dans des environnements où les instances d’application telles que les natifs du cloud sont variables.
#
Premièrement, nous avons besoin de deux servicesComme dans l’article précédent, nous utilisons la ligne de commande pour créer deux services.
然后使用 tye init 创建 tye.yml 。
Vous pouvez trouver ce qui suit dans tye.yml:
Cela nous permet de commencer àservices locaux en utilisant
tye run.
Ensuite, nous allons moderniser le service TyeTest afin qu’il appelle TyeTest2 comme son service en aval.
Cela nous permet de vérifier l’efficacité de la découverte du service.
#
Ensuite, utilisez Tye.Configuration#
Ajouter un paquetExécutez la commande suivante pour ajouter un paquet à l’project:
http://www.http://www.http://www.twitter.com/http://www.http://www.http#
AjouterParce que nous avons besoin d’appeler les services en aval en utilisant HttpClient, nous devons utiliser httpClientFactory.Par conséquent, le projet TyeTest vise à Startup.cs’enregistrement des http://www.twitter.com/TyTest.
#
Utilisez HttpClient pour invoquer le serviceEntrez WeatherForecastController, où nous utilisons HttpClient pour invoquer les services en aval et retourner les données qui en résultent:
Il est à noter que:
- L’IConfiguration
injectée dans
est un mécanisme intrinsèque d’Aspnet Core et ne nécessite pas d’enregistrement spécial. _configuration. GetServiceUri (« tyetest2 »)
point clé de cet exemple.Il obtient l’adresse Uri spécifique du service par un nom de service, qui masque les détails de l’adresse de service au moment du déploiement.
C’est ça, c’est fini.
L’étape suivante estexécuter tye
vous pouvez afficher les services modifiés localement.L’interface du premier service est appelée et les données attendues du deuxième service peuvent être obtenues.
Le véritable fonctionnement de la découverte de service à Tye se trouve dans la bibliothèque officielle pour: https://github.com/dotnet/tye/blob/master/docs/reference/service_discovery.md#how-it-works-uris-in-development
#
Enfin, envoyez-le à K8S pour une interviewPour publier sur k8s pour les tests, il suffit de suivre le contenu précédent et mis en place pour docker registre et l’entrée pour vérifier.
Les développeurs peuvent configurer et essayer eux-mêmes.
#
RésuméDans cet article, nous avons terminé avec succès l’utilisation de Tye pour compléter l’utilisation du mécanisme de découverte de service.De cette façon, nous pouvons utiliser des noms de service pour nous appeler entre les services, masquer des détails de déploiement spécifiques et simplifier le développement.
Toutefois, dans la production du monde réel, il n’y a pas que des informations sur les hôtes et les ports entre les services.Parfois, vous devez également définir des noms d’utilisateur, des mots de passe et des paramètres supplémentaires.Typique est la gestion des chaînes de connexion de base de données.
Dans le prochain article, nous allons aller plus loin sur la façon de relier la base de données dans Tye.