Udostępnij za pośrednictwem


przykładowe projekty Orleans

Witaj, świecie!

przykładowy kod aplikacji Hello World Orleans.

Aplikacja Hello, World! demonstruje tworzenie i używanie pierwszych ziaren.

Hello World demonstruje

  • Jak rozpocząć pracę z Orleans
  • Jak definiować i implementować interfejs ziarna
  • Jak uzyskać referencję do elementu (lub zasobu, w zależności od kontekstu) i jak go wywołać

Koszyk zakupów

Zrzut ekranu z przykładowej aplikacji Koszyk Zakupów Orleans.

Przykładowa aplikacja kanonicznego koszyka zakupów utworzona przy użyciu usługi Microsoft Orleans. Ta aplikacja przedstawia następujące funkcje:

  • Koszyk na zakupy: prosta aplikacja koszyka na zakupy korzystająca z Orleans obsługi platform międzyplatformowych i skalowalnych możliwości aplikacji rozproszonych.

    • zarządzanie spisem: edytowanie i/lub tworzenie spisu produktów.
    • spis sklepu: Eksplorowanie produktów możliwych do kupiania i dodawanie ich do koszyka.
    • Koszyk: wyświetl podsumowanie wszystkich elementów w koszyku i zarządzaj nimi, usuwając lub zmieniając ilość każdego elementu.

Koszyk pokazuje

  • Jak utworzyć doświadczenie rozproszonego koszyka zakupów
  • Jak zarządzać trwałością ziarna w odniesieniu do aktualizacji zapasów na żywo
  • Jak uwidocznić elementy specyficzne dla użytkownika obejmujące wiele klientów

Przygoda

Okładka dla aplikacji Adventure Orleans.

Przed graficznymi interfejsami użytkownika, konsolami gier i grami dla wielu graczy były terminale VT100 i gry, takie jak Colossal Cave Adventure, Zork i Microsoft Adventure. Może dziś uznawany za nudny według dzisiejszych standardów, wtedy był to magiczny świat potworów, ćwierkających ptaków i rzeczy, które można podnieść. Ten przykład czerpie inspirację z tych gier.

Przygoda pokazuje

  • Jak utworzyć strukturę aplikacji (w tym przypadku gra) przy użyciu ziarna
  • Jak połączyć klienta zewnętrznego z klastrem Orleans (ClientBuilder)

Chirper

przykładowy kod aplikacji Orleans Chirper.

System pub/sub sieci społecznościowej, w którym użytkownicy wysyłają do siebie krótkie wiadomości tekstowe. Wydawcy wysyłają krótkie wiadomości "Chirp" (nie należy ich mylić z "Tweetami" z różnych powodów prawnych) do innych użytkowników, którzy je śledzili.

Chirper demonstruje

  • Jak utworzyć uproszczoną aplikację mediów społecznościowych/sieci społecznościowych przy użyciu Orleans
  • Jak przechowywać stan w ziarnie przy użyciu trwałości ziarna (IPersistentState<T>)
  • Ziarna implementowania wielu interfejsów ziarna
  • Ziarna reentrantne, umożliwiające równoczesne wykonywanie wielu wywołań ziarna w jednowątkowy sposób, z przeplataniem.
  • Używanie obserwatora ziarna (IGrainObserver) do odbierania powiadomień push z ziarna

GPS Lokalizator

przykładowy kod aplikacji GPS Orleans.

Usługa do śledzenia urządzeń IoT wyposażonych w GPS na mapie. Lokalizacje urządzeń są aktualizowane w czasie niemal rzeczywistym przy użyciu usługi SignalR, przedstawiając jedno podejście do integracji Orleans z usługą SignalR. Aktualizacje urządzenia pochodzą z bramy urządzeń, zaimplementowanej przy użyciu oddzielnego procesu, który łączy się z główną usługą i symuluje działanie kilku różnych urządzeń poruszających się pseudo-losowo wokół obszaru San Francisco.

GPS Tracker prezentuje

  • Jak używać Orleans do tworzenia aplikacji Internetu Rzeczy
  • Jak Orleans może być współgospodarzem i zintegrować się z ASP.NET Core SignalR
  • Jak emitować aktualizacje w czasie rzeczywistym z ziarna do zestawu klientów przy użyciu Orleans i SignalR

HanBaoBao

HanBaoBao — Orleans przechwytywanie ekranu przykładowej aplikacji.

Aplikacja internetowa słownika English-Mandarin demonstruje wdrożenie na Kubernetesie, wywołania fan-out dla jednostek oraz ograniczanie liczby żądań.

HanBaoBao demonstruje

  • Jak utworzyć realistyczną aplikację przy użyciu Orleans
  • Jak wdrożyć aplikację opartą na Orleansna platformie Kubernetes
  • Jak zintegrować Orleans z platformą ASP.NET Core i jednostronicową aplikacją JavaScript (Vue.js)
  • Jak zaimplementować ograniczanie żądań leaky-bucket
  • Jak ładować i wykonywać zapytania dotyczące danych z bazy danych
  • Jak buforować wyniki leniwie i tymczasowo
  • Jak rozsyłać żądania do wielu ziaren i zbierać wyniki

Usługa Obecności

dane wyjściowe z aplikacji Orleans usługi Presence Service.

Usługa obecności w grach, podobna do jednej z usług opartych na Orleansutworzonych dla Halo. Usługa obecności śledzi graczy i sesje gier w czasie niemal rzeczywistym.

Usługa Presence demonstruje

  • Uproszczona wersja rzeczywistego użycia Orleans
  • Używanie obserwatora ziarna (IGrainObserver) do odbierania powiadomień push z ziarna

Kółko i Krzyżyk

logo z przykładowej aplikacji Tic Tac Toe Orleans.

Internetowa gra Tic-tac-toe przy użyciu ASP.NET MVC, JavaScript i Orleans.

Tic Tac Toe demonstruje

  • Jak utworzyć grę online przy użyciu Orleans
  • Jak utworzyć podstawowy system lobby gier
  • Jak uzyskać dostęp do elementów Orleans z poziomu aplikacji MVC platformy ASP.NET Core

Głosowanie

przechwytywanie ekranu z przykładowej aplikacji do głosowania Orleans.

Aplikacja internetowa do głosowania na zestaw opcji. W tym przykładzie pokazano wdrożenie na platformie Kubernetes. Aplikacja używa hosta ogólnego platformy .NET do współgospodarzowania ASP.NET Core i Orleans, a także pulpituOrleans nawigacyjnego razem w tym samym procesie.

pulpit nawigacyjny Orleans uruchomiony w ramach przykładowej aplikacji Do głosowania.

Głosowanie demonstruje

  • Jak wdrożyć aplikację opartą na Orleansna platformie Kubernetes
  • Jak skonfigurować pulpit nawigacyjny Orleans

Pokój rozmów

przykładowe dane wyjściowe z uruchomionej aplikacji Orleans pokoju rozmów.

Aplikacja do czatu działająca w terminalu, utworzona przy użyciu Orleans Streams.

Pokój rozmów demonstruje

  • Jak utworzyć aplikację czatu przy użyciu Orleans
  • Jak używać usługi Orleans Streams

konto bankowe

dane wyjściowe z uruchomionej aplikacji Orleans klienta konta bankowego.

Symuluje konta bankowe, używając transakcji ACID do przenoszenia losowych kwot między zestawem kont.

Konto bankowe demonstruje

  • Jak używać transakcji Orleans do bezpiecznego wykonywania operacji obejmujących wiele ziaren z zachowaniem stanu z gwarancjami ACID i serializowalną izolacją.

Blazor Server i zestawu WebAssembly platformy Blazor

Przechwytywanie ekranu przykładowej aplikacji Blazor Orleans

Te dwa przykłady Blazor są oparte na wprowadzających samouczkach Blazor , które zostały dostosowane do użycia z Orleans. W przykładzie Zestawu WebAssembly platformy Blazor użyto modelu hostingu zestawu WebAssembly platformy Blazor. W przykładzie aplikacji Blazor Server używany jest model hostingu serwera Blazor Server. Obejmują one interakcyjny licznik, listę ZADAŃ DO WYKONANIA i usługę Weather.

Przykładowe aplikacje platformy Blazor pokazują

  • Jak zintegrować ASP.NET Core Blazor Server z programem Orleans
  • Jak zintegrować ASP.NET Core Blazor WebAssembly (WASM) z Orleans

Akcje

dane wyjściowe z uruchomionej przykładowej aplikacji Orleans klienta Stocks.

Aplikacja do wyceny akcji, która pobiera ceny z zdalnej usługi przy użyciu wywołania HTTP i tymczasowo przechowuje ceny w jednostce pamięci. Usługa BackgroundService okresowo pobiera zaktualizowane ceny akcji z różnych StockGrain zasobów odpowiadających zestawowi symboli akcji.

Przykładowa aplikacja giełdowa demonstruje działanie

  • Jak korzystać z Orleans w ramach BackgroundService.
  • Jak używać czasomierzy w ziarnie.
  • Jak za pomocą .NET HttpClient wykonywać wywołania usług zewnętrznych i buforować wyniki w ziarna.

Transport Layer Security

dane wyjściowe z uruchomionej przykładowej aplikacji Orleans TLS.

A Hello, World! aplikacja skonfigurowana do używania wzajemnej Transport Layer Security w celu zabezpieczenia komunikacji sieciowej między wszystkimi serwerami.

Usługa Transport Layer Security demonstruje

  • Jak skonfigurować uwierzytelnianie wzajemnego protokołu TLS (mTLS) dla Orleans

Visual Basic: Witaj, Świecie

A Hello, World! aplikacji przy użyciu języka Visual Basic.

Program "Hello World" w Visual Basic jako przykład

  • Jak opracowywać aplikacje oparte na Orleansprzy użyciu języka Visual Basic

F# Hello World

A Hello, World! aplikacji przy użyciu języka F#.

F# Hello World demonstruje

  • Jak opracowywać aplikacje oparte na Orleansprzy użyciu języka F#

Przesyłanie strumieniowe: Strumienie Pub/Sub za pośrednictwem usługi Azure Event Hubs

Aplikacja korzystająca z Orleans Streams z Azure Event Hubs jako dostawcą i domyślnymi uczestnikami.

Usługa Pub/Sub Streams demonstruje

  • Jak używać usługi Orleans Streams
  • Jak użyć atrybutu [ImplicitStreamSubscription(namespace)], aby niejawnie zasubskrybować ziarno do strumienia przy użyciu odpowiedniego identyfikatora
  • Jak skonfigurować strumienie Orleans do współpracy z usługą Azure Event Hubs

Streaming: niestandardowy adapter danych

Aplikacja korzystająca ze Orleans strumieni, gdzie wydawca niebędący Orleans publikuje do strumienia, który jest konsumowany przez ziarno za pośrednictwem niestandardowego adaptera danych, wskazując Orleans, jak interpretować komunikaty strumienia.

Niestandardowy adapter danych demonstruje

  • Jak używać usługi Orleans Streams
  • Jak użyć atrybutu [ImplicitStreamSubscription(namespace)], aby niejawnie zasubskrybować ziarno do strumienia przy użyciu odpowiedniego identyfikatora
  • Jak skonfigurować strumienie Orleans do współpracy z usługą Azure Event Hubs
  • Jak korzystać z komunikatów strumienia publikowanych przez wydawców innych niżOrleans, dostarczając niestandardową implementację EventHubDataAdapter (niestandardowy adapter danych)