Compartir a través de


Proyectos de ejemplo Orleans

Hola mundo!

código de ejemplo para la aplicación Hello World Orleans.

Una aplicación Hello, World! que muestra cómo crear y usar sus primeros granos.

Demostración de Hello World

  • Cómo empezar a trabajar con Orleans
  • Cómo definir e implementar una interfaz de grano
  • Cómo obtener una referencia a un grano y llamarlo

Carro de la Compra

Captura de pantalla de la aplicación de ejemplo Carrito de compras Orleans.

Una aplicación de ejemplo de carrito de compras canónica creada con Microsoft Orleans. Esta aplicación muestra las siguientes características:

  • Carro de la compra: una sencilla aplicación de carro de la compra que usa Orleans para su compatibilidad con marcos multiplataforma y funcionalidades de aplicaciones distribuidas escalables.

    • administración del inventario: editar o crear inventario de productos.
    • Inventario de tiendas: explore los productos que se pueden comprar y agréguelos al carro.
    • Carro: vea un resumen de todos los elementos del carro y administre estos artículos quitando o cambiando la cantidad de cada artículo.

Cesta de la compra demuestra

  • Cómo crear una experiencia de carrito de compras distribuido
  • Cómo gestionar la persistencia granular en relación con las actualizaciones del inventario en tiempo real
  • Cómo exponer elementos específicos del usuario que abarcan varios clientes

Aventura

arte de portada para la aplicación Adventure Orleans.

Antes de las interfaces gráficas de usuario, las consolas de juego y los juegos multijugador masivos, había terminales vT100 y juegos como Colossal Cave Adventure, Zork y Microsoft Adventure. Posiblemente soso según los estándares de hoy, en ese entonces era un mundo mágico de monstruos, pájaros gorjeantes y cosas que podías recoger. Este ejemplo se inspira en esos juegos.

Adventure muestra

  • Estructurar una aplicación (en este caso, un juego) con granos
  • Conexión de un cliente externo a un clúster de Orleans (ClientBuilder)

Chirper

código de ejemplo para la aplicación chirper Orleans.

Un sistema pub/sub de red social en el que los usuarios envían mensajes de texto cortos entre sí. Los publicadores envían mensajes cortos de "Chirp" (no confundirse con "Tweets" por diversos motivos legales) a cualquier otro usuario que los siga.

Chirper demuestra

  • Cómo construir una aplicación simplificada de redes sociales utilizando Orleans
  • Cómo almacenar el estado dentro de un grano mediante persistencia de grano (IPersistentState<T>)
  • Granos que implementan varias interfaces de grano
  • Componentes reentrantes, lo que permite que varias invocaciones de componentes se ejecuten simultáneamente en un solo subproceso de manera intercalada.
  • Utilizar un observador de granos (IGrainObserver) para recibir notificaciones push de granos

GPS rastreador

código de ejemplo para la aplicación gps Orleans.

Un servicio para el seguimiento de dispositivos IoT equipados con GPS en un mapa. Las ubicaciones de dispositivos se actualizan casi en tiempo real mediante SignalR, lo que muestra un enfoque para la integración Orleans con SignalR. Las actualizaciones del dispositivo se originan en una puerta de enlace de dispositivos, implementada mediante un proceso independiente que se conecta al servicio principal y simula varios dispositivos que se mueven pseudoaleatoriamente alrededor de un área de San Francisco.

GPS Tracker demuestra

  • Cómo usar Orleans para crear una aplicación Internet de las cosas
  • Cómo Orleans puede ser co-alojado e integrado con ASP.NET Core SignalR
  • Cómo difundir actualizaciones en tiempo real desde un grain a un conjunto de clientes mediante Orleans y SignalR

HanBaoBao

HanBaoBao - captura de pantalla de aplicación de ejemplo. Orleans

Una aplicación web de diccionario de English-Mandarin que muestra la implementación en Kubernetes, las llamadas específicas y la limitación de solicitudes.

HanBaoBao demuestra

  • Creación de una aplicación realista mediante Orleans
  • Implementación de una aplicación basada en Orleansen Kubernetes
  • Cómo integrar Orleans con ASP.NET Core y un un marco de JavaScript de aplicación de página única (Vue.js)
  • Cómo implementar la limitación de solicitudes de un cubo con fugas
  • Cómo cargar y consultar datos desde una base de datos
  • Cómo almacenar en caché los resultados de forma diferida y temporal
  • Cómo hacer una distribución ramificada de las solicitudes en muchos intervalos de agregación y recopilar los resultados

Servicio de presencia

salida de la aplicación Presence Service Orleans.

Servicio de presencia para juegos, similar a uno de los servicios basados en Orleans que se crearon para Halo. Un servicio de presencia realiza un seguimiento de los jugadores y las sesiones de juego casi en tiempo real.

El servicio de presencia demuestra

  • Una versión simplificada de un uso real de Orleans
  • Utilizar un observador de granos (IGrainObserver) para recibir notificaciones push de granos

Tres en raya

logotipo de la aplicación de ejemplo Tic Tac Toe Orleans.

Un juego tic-tac-toe basado en web mediante ASP.NET MVC, JavaScript y Orleans.

Tres en raya demuestra

  • Cómo crear un juego en línea mediante Orleans
  • Cómo crear un sistema básico de lobby de juegos
  • Cómo acceder a los granos de Orleans desde una aplicación ASP.NET Core MVC

Votación

Captura de pantalla de Captura de pantalla de la aplicación de ejemplo Voting Orleans.

Una aplicación web para votar en un conjunto de opciones. En este ejemplo se muestra la implementación en Kubernetes. La aplicación usa el host genérico de .NET para hospedar conjuntamente ASP.NET Core y Orleans, así como el Orleans panel, juntos en el mismo proceso.

El panel Orleans ejecutándose como parte de la Voting sample app.

Votar demuestra

  • Implementación de una aplicación basada en Orleansen Kubernetes
  • Cómo configurar el panel de control Orleans

Sala de chat

Salida de muestra de la aplicación de sala de chat en ejecución Orleans.

Una aplicación de chat basada en terminal construida usando Orleans Streams.

Chat Room demuestra

  • Creación de una aplicación de chat mediante Orleans
  • Cómo utilizar Orleans Streams

Cuenta bancaria

Salida de la aplicación de ejemplo Bank Account Orleans en ejecución.

Simula cuentas bancarias, usando transacciones ACID para transferir importes aleatorios entre un conjunto de cuentas.

Bank Account demuestra

  • Cómo usar transacciones de Orleans para realizar operaciones de forma segura que implican varios intervalos de agregación con estado con garantías ACID y aislamiento serializable

Blazor Server y Blazor WebAssembly

Captura de pantalla de la aplicación de ejemplo Blazor Orleans

Estos dos ejemplos de Blazor se basan en los tutoriales introductorios de Blazor , adaptados para su uso con Orleans. El ejemplo Blazor WebAssembly utiliza el modelo de hospedaje Blazor WebAssembly. El ejemplo de Blazor Server usa el modelo de hospedaje de Blazor Server. Incluyen un contador interactivo, una lista de tareas pendientes y un servicio Weather.

Ejemplos de aplicaciones Blazor demuestran

  • Integración de ASP.NET Core Blazor Server con Orleans
  • Cómo integrar ASP.NET Core Blazor WebAssembly (WASM) con Orleans

Acciones

Salida de la app de ejemplo cliente de Stocks Orleans en ejecución.

Aplicación de precios de cotizaciones que captura los precios de un servicio remoto mediante una llamada HTTP y almacena en caché los precios temporalmente en un grano. Un servicio en segundo plano sondea periódicamente los precios de las acciones actualizadas de varias StockGrain instancias correspondientes a un conjunto de símbolos bursátiles.

La app de ejemplo Stocks demuestra

  • Cómo usar Orleans desde un BackgroundService.
  • Cómo utilizar temporizadores dentro de un intervalo de agregación.
  • Cómo realizar llamadas a servicios externos mediante .NET HttpClient y almacenar en caché los resultados dentro de un grano.

Seguridad de la Capa de Transporte

Salida de la aplicación de ejemplo de TLS Orleans en ejecución.

Aplicación Hola mundo configurada para usar la Seguridad de la capa de transporte mutua para proteger la comunicación de red entre cada servidor.

Transport Layer Security demuestra

  • Configuración de la autenticación mutua TLS (mTLS) para Orleans

Visual Basic Hello World

Aplicación Hola mundo creada con Visual Basic.

El programa Hello World de Visual Basic muestra

  • Desarrollo de aplicaciones basadas en Orleansmediante Visual Basic

Hola Mundo F#

Aplicación Hola mundo creada con F#.

F# Hello World demuestra

  • Desarrollo de aplicaciones basadas en Orleansmediante F#

Streaming: Secuencias de publicación/suscripción a través de Azure Event Hubs

Una aplicación que usa Orleans Streams con azure Event Hubs como proveedor y suscriptores implícitos.

Pub/Sub Streams demuestra

  • Cómo utilizar Orleans Streams
  • Cómo usar el atributo [ImplicitStreamSubscription(namespace)] para suscribir implícitamente un intervalo de agregación a la secuencia con el identificador correspondiente
  • Cómo configurar flujos de Orleans para su uso con Azure Event Hubs

streaming: adaptador de datos personalizado

Una aplicación que usa Orleans Streams con un publicador no-Orleans que inserta en una secuencia que consume un grano a través de un adaptador de datos personalizado, indicando a Orleans cómo interpretar los mensajes de secuencia.

El adaptador de datos personalizado demuestra

  • Cómo utilizar Orleans Streams
  • Cómo usar el atributo [ImplicitStreamSubscription(namespace)] para suscribir implícitamente un intervalo de agregación a la secuencia con el identificador correspondiente
  • Cómo configurar flujos de Orleans para su uso con Azure Event Hubs
  • Cómo consumir mensajes de una secuencia publicados por publicadores que no son de Orleans mediante una implementación EventHubDataAdapter personalizada (un adaptador de datos personalizado)