Description

La communication entre les applications nécessite un standard de communication. XML & JSON ont régné en maîtres pendant de nombreuses années, jusqu'à l'arrivée du framework open-source ultra performant : gRPC.

Utilisé par les plus grands noms de l'industrie (Google, Netflix, etc.), gRPC permet une communication binaire très efficace en se servant des échanges basés sur Protobuf.

Dans ce cours, après une rapide introduction à gRPC, les avancées apportées par HTTP/2 et les modes de communications de gRPC, nous verrons :

  • Comment créer des contrats Protobuf
  • Comment installer et utiliser les outils .NET pour générer le code permettant la communication
  • Comment communiquer entre deux applications console brutes, afin de comprendre tous les concepts
  • Faire un appel unaire, qui pourrait bien remplacer vos appels REST entre APIs
  • Streamer les données depuis le serveur vers le client
  • Streamer les données depuis le client vers le serveur
  • Streamer les données des deux côtés
  • Gérer les erreurs 

Après ce premier module, nous verrons dans un second module des concepts avancés :

  • Enrichir ses contrats protobuf avec des types riches & réutilisables
  • Gérer les timeouts avec les deadlines
  • Sécuriser les échanges avec des certificats SSL
  • Exposer les endpoints pour récupérer les infos côté client

Nous finirons ce cours en montrant comment intégrer des services gRPC au sein d'applications ASP.NET.

A la fin de cours, vous saurez implémenter une communication gRPC entre deux applications .NET (quelles qu'elles soient) afin de communiquer de la façon la plus efficace qui soit.

Au menu 🍽

  • ▶️Introduction
  • ▶️Création de la structure du projet
  • ▶️Création du contrat Protobuff
  • ▶️Code du client et du serveur gRPC
  • ▶️Envoi & réception d'un message en gRPC
  • ▶️Énoncé de l'exercice 1
  • ▶️Correction de l'exercice 1
  • ▶️Enrichir les contrats Protobuf
  • ▶️Corrigé exercice 2
  • ▶️Streaming serveur vers client
  • ▶️Streaming client vers serveur
  • ▶️Streaming bi-directionnel
  • ▶️Corrigé exercice 3 - introduction
  • ▶️Corrigé exercice 3 - implémentation
  • ▶️Gestion des erreurs
  • ▶️Les espaces de noms
  • ▶️Créer des types personnalisés réutilisables
  • ▶️Encore + de types !
  • ▶️Deadlines
  • ▶️Communication avec certificats SSL
  • ▶️Reflection sur les endpoints gRPC
  • ▶️Installation & configuration
  • ▶️Intégration du service gRPC
  • ▶️Ajout d'un endpoint de génération de tokens JWT
  • ▶️Consommation du token JWT

Avis