Coder Social home page Coder Social logo

zbox-orleans's Introduction

Zadání úkolu

Tento úkol je zaměřen na seznámení se s Microsoft Orleans a .NET 7. Cílem je demonstrovat schopnost implementovat základní cluster v Orleans a možnosti frameworku, které jsou běžné v práci s Orleans.

Instrukce

  1. Forkněte si toto repo na váš vlastní GitHub účet.
  2. Nastavte konfigurace editoru a Gitu v repozitáři podle vašich preferencí.
  3. Vytvořte malý projekt v .NET 7 a Orleans 7.
  4. Zveřejněte svůj kód v repozitáři a pošlete nám odkaz na váš fork.

Zadání pro projekt Orleans 7

Vaším úkolem je vytvořit demonstrační projekt s využitím Microsoft Orleans ve verzi 7. Zde jsou konkrétní úkoly, které by váš projekt měl splnit:

  1. Orleans Silo: Nastavte prostředí pro Orleans Silo. Toto je základní krok, který je nezbytný pro další práci s Orleans.

  2. POCO Grain: Vytvořte jednoduchý POCO grain, který neuchovává stav mezi voláními. POCO grainy v Orleans 7 nevyžadují dědění od třídy Grain.

  3. Stavový grain (bez persistence): Vytvořte stavový grain, který udržuje stav mezi voláními, ale není persistován.

  4. Stavový grain (s persistencí): Implementujte stavový grain, který svůj stav persistuje. Můžete využít Azure CosmosDB nebo Azure Blob Storage pro persistenci stavu grainu.

  5. Více stavů v jednom grainu (přes facets): Demonstrujte, jak může grain obsahovat více stavů pomocí Orleans grain facets.

  6. Bezstavový grain (stateless): Vytvořte bezstavový grain, který má maximální propustnost v možnostech volání metod grainu.

  7. Distributed Transactions: Vytvořte přiklad grainů, které ukazují, jak v Orleans provádět distribuované transakce. Mohlo by to být například jednoduché bankovní rozhraní, kde můžete převádět peníze mezi účty a musíte se ujistit, že transakce jsou konzistentní.

  8. Timers and Reminders: Vytvořte příklad grainu, který ukazuje, jak používat timers a reminders v Orleans.

  9. Reentrant Grains: Vytvořte grain, který demonstruje použití vlatnosti reentrant v Orleans.

  10. Orleans Dashboard: Integrujte svůj projekt s Orleans Dashboard pro lepší monitorování a ladění.

  11. Hostovaná služba, která volání 'bezstavový grain (stateless)': Vytvořte co-hostovanou službu v ramci stejného runtime za pomoci 'IHostedService', ve které budete maximalní možnou rychlostí volat bezstavový grain (stateless). Ověřte si počty volání za sekundu v Dashbordu.

  12. Podpora více Sil: Rozšiřte svůj projekt tak, aby podporoval více sil. Pro demonstraci stačí dvě sila.

  13. Virtuální streamy: Implementujte virtuální streamy v Orleans pro asynchronní komunikaci mezi grainy.

  14. Pub/Sub vzor: Využijte Orleans pro implementaci publish/subscribe vzoru pro asynchronní zpracování událostí.

  15. Agregační vzor: Demonstrujte, jak lze v Orleans implementovat agregační vzor.

Vaším cílem je ukázat, jak efektivně využívat Orleans 7 pro distribuované výpočty a jak správně pracovat se stavovými a bezstavovými grainy, virtuálními streamy a dalšími funkcemi Orleans. Výsledný projekt by měl být dobře strukturovaný a komentovaný, aby bylo možné pochopit jednotlivé kroky a jejich účel.

Poznámky

  • Můžete použít jakoukoli databázi podporovanou Orleans pro ukládání stavu grainu, pokud je to pro váš use-case potřeba.
  • Jakýkoli další kód nebo dokumentace, které považujete za užitečné pro demonstraci vašeho porozumění Orleans a .NET, je vítaný.
  • Hodnotit budeme jak správnost a úplnost implementace, tak kvalitu kódu a jeho dokumentace.

Ostatní

zbox-orleans's People

Contributors

jurby avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.