Примеры проектов Orleans

Hello, World!

Приложение Hello, World! , которое демонстрирует создание и использование ваших первых граней.

Что демонстрирует

  • Как приступить к работе с Orleans
  • Определение и реализация детализированного интерфейса
  • Как получить ссылку на детализацию и вызвать детализацию

Adventure

Прежде чем приступить к графическим пользовательским интерфейсам, до эры игровых консолей и игр с огромным участием в нем были установлены терминалы VT100 и колоссальных пещере Adventure, Зорки Microsoft Adventure. Возможно, предосудительного на сегодняшний день, а затем — Magical мир монстров, чирпинг птиц, а также все, что можно было бы выбрать. Это именно то, что в этом примере.

Что демонстрирует

  • Как структурировать приложение (в нашем примере — игру) с помощью граней
  • Подключение внешнего клиента к кластеру Orleans ( ClientBuilder )

чирпер

Система публикации и подсети социальных сетей с короткими текстовыми сообщениями, отправляемыми между пользователями. Издатели отправляют короткие сообщения «Чирп» (не путать с «твитами»по различным юридическим причинам) любым другим пользователям.

Что демонстрирует

  • Как создать упрощенное приложение для социальных сетей и социальных сетей с помощью Orleans
  • Хранение состояния в режиме детализации с помощью сохраняемости ( IPersistentState<T> )
  • Грани, реализующие несколько граней интерфейсов
  • Повторные изменения, позволяющие параллельно выполнять несколько одновременных вызовов в однопотоковом режиме
  • Использование наблюдателя граней () для получения Push- IGrainObserver уведомлений от граней

Средство записи GPS

Служба для отслеживания устройств Интернета вещей , оснащенных GPS, на карте. Расположения устройств обновляются практически в реальном времени с помощью SignalR, поэтому в этом примере демонстрируется один из подходов к интеграции Orleans с SignalR. Обновления устройства берутся из шлюза устройств, который реализуется с помощью отдельного процесса, который подключается к основной службе и имитирует несколько устройств, перемещаемых в псевдослучайноее вокруг области в Сан-Франциско.

Что демонстрирует

  • Как использовать Orleans для создания приложения Интернет вещей
  • как Orleans можно разместить в совместном размещении и интегрировать с ASP.NET Core signalr
  • Как транслировать обновления в режиме реального времени на множество клиентов, использующих Orleans и SignalR

ханбаобао

Веб-приложение English-Mandarin Dictionary, демонстрирующие развертывание в Kubernetes, вызовах граней и регулирования запросов.

Что демонстрирует

  • Создание реалистичного приложения с помощью Orleans
  • Развертывание приложения на основе Orleans в Kubernetes
  • как интегрировать Orleans с ASP.NET Core и одностраничное приложение JavaScript framework (Vue.js)
  • Как реализовать регулирование запросов в сегменте утечки
  • Загрузка и запрос данных из базы данных
  • Кэширование результатов с отложенной и временной причастотой
  • Как разбираются запросы к различным граням и собирайте результаты

Служба присутствия

Служба присутствия в играх, аналогичная одной из служб на основе Orleans, созданных для Halo. Служба присутствия отслеживает проигрыватели и игровые сеансы практически в реальном времени.

Что демонстрирует

  • Упрощенная версия реального использования Orleans
  • Использование наблюдателя граней () для получения Push- IGrainObserver уведомлений от граней

Крестикиный нолики

крестикиная игра на основе веб-игр с использованием ASP.NET MVC, JavaScript и Orleans.

Что демонстрирует

  • Создание Интернет-игры с помощью Orleans
  • Создание базовой основной системы игры
  • как получить доступ к граням Orleans из приложения ASP.NET Core MVC

Voting

Веб-приложение для голосования по набору вариантов. В этом примере демонстрируется развертывание в Kubernetes. приложение использует универсальный узел .net для совместного размещения ASP.NET Core и Orleans, а также панель мониторинга Orleans вместе в одном процессе.

Что демонстрирует

Комната чата

приложение для разговора на основе терминала, созданное с помощью Orleans Потоки.

Что демонстрирует

  • Создание приложения для разговора с помощью Orleans
  • использование Orleans Потоки

Банковский счет

Имитирует банковские учетные записи, используя транзакции ACID для перемещения случайных сумм между набором учетных записей.

Что демонстрирует

  • Как использовать транзакции Orleans для безопасного выполнения операций с несколькими детализациями с отслеживанием состояния с помощью гарантий ACID и изоляции Serializable.

Блазор Server и блазор

Эти два примера Блазор основаны на вводных учебных курсах блазор, адаптированных для использования с Orleans. В примере блазор для сборки используется модель размещения блазор. В примере сервера блазор используется модель размещения сервера блазор. Они включают в себя интерактивный счетчик, список дел и службу погоды.

Что демонстрирует

  • интеграция ASP.NET Core блазор Server с Orleans
  • как интегрировать ASP.NET Core блазор (васм) с Orleans

Акции

Приложение с ценой акций, которое извлекает цены из удаленной службы с помощью вызова HTTP и временно кэширует цены. BackgroundService периодически опрашивается на предмет обновленных цен на акции из различных StockGrain граней, соответствующих набору символов акций.

Что демонстрирует

  • Использование Orleans в BackgroundService.
  • Использование таймеров в рамках детализации
  • Как выполнять вызовы внешней службы с помощью. HttpClient Net и кэширования результатов в определенном Гране.

Протокол TLS

Приложение Hello, World!, настроенное на использование взаимной защиты транспортного уровня для защиты сетевого взаимодействия между каждым сервером.

Что демонстрирует

  • Настройка проверки подлинности взаимного TLS (mTLS) для Orleans

Visual Basic Hello World

Приложение Hello, World!, использующее Visual Basic.

Что демонстрирует

  • Разработка приложений на основе Orleans с помощью Visual Basic

Hello World F #

Приложение Hello, World!, использующее F #.

Что демонстрирует

  • Разработка приложений на основе Orleans с помощью F #

потоковая передача: публикация и подПотоки через концентраторы событий Azure

приложение, использующее Orleans Потоки с концентраторами событий Azure в качестве поставщика и неявными подписчиками.

Что демонстрирует

  • использование Orleans Потоки
  • Использование [ImplicitStreamSubscription(namespace)] атрибута для неявной подписки на детализацию в потоке с соответствующим идентификатором
  • настройка Потоки Orleans для использования с концентраторами событий Azure

Потоковая передача: Пользовательский адаптер данных

приложение, использующее Orleans Потоки с издателем, отличным от Orleans, помещает в поток, который потребляется с помощью пользовательского адаптера данных , который сообщает Orleans о том, как интерпретировать потоковые сообщения.

Что демонстрирует

  • использование Orleans Потоки
  • Использование [ImplicitStreamSubscription(namespace)] атрибута для неявной подписки на детализацию в потоке с соответствующим идентификатором
  • настройка Потоки Orleans для использования с концентраторами событий Azure
  • Как использовать потоковые сообщения, опубликованные издателями, не являющимися Orleans, путем предоставления пользовательской EventHubDataAdapter реализации (пользовательского адаптера данных)