Partager via


Orleans exemples de projets

Hello, World !

exemple de code pour l’application Hello World Orleans.

Une application Hello, World ! illustrant comment créer et utiliser vos premiers grains.

Hello World démontre

  • Comment démarrer avec Orleans
  • Comment définir et implémenter une interface de grain
  • Comment obtenir une référence à un grain et l’appeler

panier d’achat

capture d’écran Capture d’écran de l’exemple d’application Orleans du panier d’achats.

Exemple d’application de panier d’achat canonique créé à l’aide de Microsoft Orleans. Cette application présente les fonctionnalités suivantes :

  • Panier d’achat : une application de panier d’achat simple utilisant Orleans pour sa prise en charge multiplateforme et ses capacités évolutives d’application distribuée.

    • gestion des stocks: modifiez et/ou créez un inventaire des produits.
    • Shop inventory : Explorez les produits purchasables et ajoutez-les à votre panier.
    • Panier : affichez un résumé de tous les éléments de votre panier et gérez ces éléments en supprimant ou en modifiant la quantité de chaque élément.

Le panier d’achat illustre

  • Comment créer une expérience de panier d’achat distribué
  • Comment gérer la persistance des grains en ce qui concerne les mises à jour d’inventaire dynamiques
  • Guide pratique pour exposer des éléments spécifiques à l’utilisateur couvrant plusieurs clients

Aventure

illustration de couverture pour l'application Adventure Orleans.

Avant les interfaces utilisateur graphiques, les consoles de jeu et les jeux multijoueurs massifs, il y avait des terminaux et des jeux VT100 comme Colossal Cave Adventure, Zork et Microsoft Adventure. Peut-être fade par les normes d’aujourd’hui, à l'époque, c’était un monde magique de monstres, d’oiseaux chantants, et des objets que l'on pouvait ramasser. Cet exemple s’inspire de ces jeux.

Une aventure démontre

  • Comment structurer une application (dans ce cas, un jeu) à l’aide de grains
  • Connexion d’un client externe à un cluster Orleans (ClientBuilder)

Chirper

exemple de code pour l’application Chirper Orleans.

Un système de pub/sous-réseau de réseaux sociaux où les utilisateurs envoient des messages texte courts les uns aux autres. Les éditeurs envoient des messages courts « Chirp » (pas à confondre avec « Tweets » pour diverses raisons juridiques) à tous les autres utilisateurs qui les suivent.

Chirper démontre

  • Comment créer une application de réseau social simplifiée à l’aide de Orleans
  • Comment stocker l’état dans un grain à l’aide de la persistance des grains (IPersistentState<T>)
  • Grains implémentant plusieurs interfaces de grain
  • Des grains réentrants, ce qui permet à plusieurs appels de grain de s’exécuter simultanément de manière entrelacée sur un seul fil.
  • Utilisation d'un observateur de grains (IGrainObserver) pour recevoir des notifications push de grains

Suivi GPS

exemple de code pour l’application GPS Orleans.

Service de suivi des appareils IoT équipés du GPS sur une carte. Les emplacements des appareils sont mis à jour en quasi-temps réel à l’aide de SignalR, ce qui illustre une approche de l’intégration Orleans à SignalR. Les mises à jour de l'appareil proviennent d'une passerelle d’appareil, implémentée à l'aide d'un dispositif distinct qui se connecte au service principal et simule plusieurs appareils se déplaçant de manière pseudo-aléatoire dans une zone de San Francisco.

Le suivi GPS montre

  • Comment utiliser Orleans pour créer une application Internet des objets
  • Comment Orleans peut être co-hébergé et intégré à ASP.NET Core SignalR
  • Comment diffuser des mises à jour en temps réel d’un grain vers un ensemble de clients utilisant Orleans et SignalR

HanBaoBao

HanBaoBao - Orleans exemple de capture d’écran d’application.

Application web de dictionnaire English-Mandarin illustrant le déploiement sur Kubernetes, les appels granulaires de dispersion et la limitation des requêtes.

HanBaoBao démontre

  • Comment créer une application réaliste à l’aide de Orleans
  • Comment déployer une application Orleanssur Kubernetes
  • Comment intégrer Orleans avec ASP.NET Core et une application à page unique utilisant le framework JavaScript (Vue.js)
  • Comment implémenter la limitation des demandes par seau qui fuit
  • Comment charger et interroger des données à partir d’une base de données
  • Comment mettre en cache les résultats de manière différée et temporaire
  • Comment ramifier la distribution des demandes à de nombreux grains et collecter les résultats

Service de présence

Sortie de l'application Presence Service Orleans.

Un service de présence pour les jeux, similaire à l’un des services basés sur les Orleans créés pour Halo. Un service de présence suit les joueurs et les sessions de jeu en quasi-temps réel.

Le service de présence montre

  • Version simplifiée d’une utilisation réelle de Orleans
  • Utilisation d'un observateur de grains (IGrainObserver) pour recevoir des notifications push de grains

Tic Tac Toe

Logo de l’exemple d’application Tic Tac Toe Orleans.

Jeu Tic-tac-toe basé sur le web à l’aide de ASP.NET MVC, JavaScript et Orleans.

Tic Tac Toe montre

  • Comment créer un jeu en ligne à l’aide de Orleans
  • Comment créer un lobby de jeu basique
  • Comment accéder aux grains Orleans à partir d’une application MVC ASP.NET Core

Vote

Capture d’écran Capture d’écran de l’application d’exemple de vote Orleans .

Application web pour voter sur un ensemble de choix. Cet exemple illustre le déploiement sur Kubernetes. L’application utilise l’hôte générique .NET pour co-héberger ASP.NET Core et Orleans, ainsi que le Orleans tableau de bord, ensemble dans le même processus.

Le Tableau de bord Orleans s’exécutant dans le cadre de l’exemple d’application de vote.

Le vote démontre

  • Comment déployer une application Orleanssur Kubernetes
  • Comment configurer le tableau de bord Orleans

salle de conversation

Exemple de sortie de l’exemple d’application Orleans de salle de conversation en cours d’exécution.

Application de chat s'exécutant dans un terminal, créée à l’aide de Orleans Streams.

Salle de conversation montre

  • Comment créer une application de conversation à l’aide de Orleans
  • Comment utiliser Orleans Streams

Compte bancaire

Sortie de l’exemple d’application client Orleans de compte bancaire en cours d’exécution.

Simule les comptes bancaires, à l’aide de transactions ACID pour transférer des montants aléatoires entre un ensemble de comptes.

Le compte bancaire illustre

  • Comment utiliser les transactions Orleans pour effectuer en toute sécurité des opérations impliquant plusieurs grains avec état, avec des garanties ACID et une isolation sérialisée.

Blazor Server et Blazor WebAssembly

Orleans exemple de capture d’écran d’application Blazor

Ces deux exemples Blazor sont basés sur les didacticiels d'introduction Blazor , adaptés pour être utilisés avec Orleans. L’exemple Blazor WebAssembly utilise le modèle d’hébergement Blazor WebAssembly. L’exemple Blazor Server utilise le modèle d’hébergement Blazor Server. Ils incluent un compteur interactif, une liste TODO et un service Météo.

Exemples d’applications Blazor montrent

  • Comment intégrer ASP.NET Core Blazor Server à Orleans
  • Comment intégrer ASP.NET Core Blazor WebAssembly (WASM) à Orleans

Stocks

Sortie de l’exemple d’application Orleans client Stocks en cours d’exécution.

Application de prix boursier qui extrait les prix d’un service distant à l’aide d’un appel HTTP et met temporairement en cache les prix dans un grain. Un service d'arrière-plan scrute régulièrement les prix actualisés des actions à partir de divers grains correspondant à un ensemble de symboles boursiers.

L’exemple d’application Stocks montre

  • Comment utiliser Orleans dans un BackgroundService.
  • Comment utiliser des minuteurs dans un grain.
  • Comment effectuer des appels de service externe à l’aide de . Net HttpClient et mettre en cache les résultats dans un grain.

Sécurité de la couche de transport

Sortie de l’application d’exemple TLS en cours d’exécution Orleans.

Application Hello, World! configurée pour utiliser une sécurité de la couche transport mutuelle pour sécuriser la communication réseau entre les différents serveurs.

Transport Layer Security montre

  • Comment configurer l’authentification mutual-TLS (mTLS) pour Orleans

Visual Basic Bonjour le Monde

Une application Hello, World ! à l’aide de Visual Basic.

Visual Basic Hello World illustre

  • Comment développer des applications basées sur des Orleansà l’aide de Visual Basic

F# Hello World

Un Hello, World! application utilisant F#.

F# Hello World montre

  • Comment développer des applications basées sur des Orleansà l’aide de F#

Streaming : Flux Pub/Sub via Azure Event Hubs

Une application utilisant Orleans Streams avec Azure Event Hubs en tant que fournisseur et abonnés implicites.

Pub/Sub Streams montre

  • Comment utiliser Orleans Streams
  • Comment utiliser l’attribut [ImplicitStreamSubscription(namespace)] pour abonner implicitement un grain au flux avec l’ID correspondant
  • Comment configurer des flux Orleans à utiliser avec azure Event Hubs

Streaming : Adaptateur de données personnalisé

Une application utilisant des flux avec un acteur autre qu'un Orleans publisher poussant vers un flux qu'un grain consomme via un Orleans, qui indique à comment interpréter les messages de flux.

L’adaptateur de données personnalisé montre

  • Comment utiliser Orleans Streams
  • Comment utiliser l’attribut [ImplicitStreamSubscription(namespace)] pour abonner implicitement un grain au flux avec l’ID correspondant
  • Comment configurer des flux Orleans à utiliser avec azure Event Hubs
  • Comment consommer des messages de flux publiés par des éditeurs nonOrleans en fournissant une implémentation de EventHubDataAdapter personnalisée (adaptateur de données personnalisé)