SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Build distributed, highly scalable applications
in .NET using Microsoft Orleans
Agenda
Introduction – Microsoft Orleans1
Grains and Grain Persistence2
Cluster Management3
Streaming, Observers, Reentrancy4
Q & A5
Implementation is based on
the Actor Model
Actor
Model
Orleans grains are virtual
actors
Orleans
Grains
Physical instantiations of
grains are completely
abstracted away and are
automatically managed by
the Orleans runtime
Physical
Instantiations
Virtual Actor Model - High-
scale dynamic workloads
like cloud services
Virtual
Actor Model
Build distributed high-scale computing applications without the need to learn and
apply complex concurrency or other scaling patterns
Introduction
Introduction
Typical stateless n-tier model
Orleans as a Stateful middle tier
Stateful 3-tier Architecture
State
Event
Stream
System
WEB hosts
with
Orleans clients
Orleans cluster
Grains
What is a
grain
Grain
Identity
• Primitives of the Orleans programming model.
• Building blocks of an Orleans application, they are atomic units of
isolation, distribution, and persistence.
• Objects that represent application entities.
• An individual grain is a uniquely addressable instance of a grain
type (class).
• Each grain has a unique identity, also referred to as a grain key,
within its type.
• Grain identity within its type can be a long integer, a GUID, a string,
or a combination of a long+string or GUID+string
Grains
Accessing a
Grain
Grains
Active in
Memory
Deactivating
Persisted
Activating
Grain
Lifecycle
Activation
• Constructor of the grain is executed leveraging
Dependency Injection, if applicable
• If Declarative Persistence is used, the grain state
is read from storage
• If overridden, OnActivateAsync is called
Deactivation
• The grain remains idle for some time
• Silo runtime decides to deactivate the grain
• Silo runtime calls OnDeactivateAsync, if
overridden
• Silo runtime removes the grain from memory
Grain Persistence
Orleans provides different type of storage providers for persisting the
grain state
AzureTableGrainStorage AzureBlobGrainStorage DynamoDBGrainStorage
MemoryGrainStorage AdoNetGrainStorage
SQL Server
MySQL/MariaDB
PostgreSQL
Oracle
Cluster Management
Orleans provides cluster management via a built-in membership protocol, which we sometimes
refer to as Silo Membership. The goal of this protocol is for all silos (Orleans servers) to agree on
the set of currently alive silos, detect failed silos, and allow new silos to join the cluster.
Azure
Table Storage
Apache
Zookeeper
Consul IO AWS
Dynamo DB
In memory emulation
for development setup
Membership Table Implementations
Streaming
Streaming extensions provide a set of abstractions and APIs that make
thinking about and working with streams simpler and more robust
Makes the programming model compatible with and portable across a
wide range of existing queuing technologies, such as Event Hubs,
ServiceBus, Azure Queues, and Apache Kafka
No need to write special code or run dedicated processes to interact with
such queues
For receiving data from streams implicit/explicit subscriptions can be
used
Reentrancy
Grain activations are single-threaded and,
by default, process each request from
beginning to completion before the next
request can begin being processing.
In some circumstances, it may be desirable
for an activation to process other requests
while one request is waiting for an
asynchronous operation to complete
• The grain class is marked as [Reentrant]
• The interface method is marked as
[AlwaysInterleave]
• The requests within the same call chain
• The grain's MayInterleave predicate returns true
Other Core Concepts
1 Timers and Reminders
2 Request Context
3 Event Sourcing
4 Grain Services
5 Interceptors
6 External Tasks and Grains
7 Stateless Worker Grains
Demo
Q & A
• Website: www.winwire.com
• Email: marketing@winwire.com
• Blog: http://www.winwire.com/blog/
• Twitter: @winwire

Contenu connexe

Tendances

Tendances (20)

Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
GCP-pde.pdf
GCP-pde.pdfGCP-pde.pdf
GCP-pde.pdf
 
Introduction to Azure Event Grid
Introduction to Azure Event GridIntroduction to Azure Event Grid
Introduction to Azure Event Grid
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Introducing Azure Arc
Introducing Azure ArcIntroducing Azure Arc
Introducing Azure Arc
 
Azure Monitoring Overview
Azure Monitoring OverviewAzure Monitoring Overview
Azure Monitoring Overview
 
Serverless Computing in Azure
Serverless Computing in AzureServerless Computing in Azure
Serverless Computing in Azure
 
Build and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API GatewayBuild and Manage Your APIs with Amazon API Gateway
Build and Manage Your APIs with Amazon API Gateway
 
Re:invent 2016 Container Scheduling, Execution and AWS Integration
Re:invent 2016 Container Scheduling, Execution and AWS IntegrationRe:invent 2016 Container Scheduling, Execution and AWS Integration
Re:invent 2016 Container Scheduling, Execution and AWS Integration
 
Cloud Monitoring tool Grafana
Cloud Monitoring  tool Grafana Cloud Monitoring  tool Grafana
Cloud Monitoring tool Grafana
 
Monitoring Solutions for APIs
Monitoring Solutions for APIsMonitoring Solutions for APIs
Monitoring Solutions for APIs
 
Windows Azure Service Bus
Windows Azure Service BusWindows Azure Service Bus
Windows Azure Service Bus
 
Google Cloud Platform
Google Cloud PlatformGoogle Cloud Platform
Google Cloud Platform
 
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
Manchester MuleSoft Meetup #6 - Runtime Fabric with Mulesoft
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
 
Terraform: Infrastructure as Code
Terraform: Infrastructure as CodeTerraform: Infrastructure as Code
Terraform: Infrastructure as Code
 
Azure Service Bus
Azure Service BusAzure Service Bus
Azure Service Bus
 
Kong Workshop.pdf
Kong Workshop.pdfKong Workshop.pdf
Kong Workshop.pdf
 
Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...
 
Openshift
Openshift Openshift
Openshift
 

Similaire à Build distributed, highly scalable applications in .NET using Microsoft Orleans

Understand oracle real application cluster
Understand oracle real application clusterUnderstand oracle real application cluster
Understand oracle real application cluster
Satishbabu Gunukula
 
Big data conference europe real-time streaming in any and all clouds, hybri...
Big data conference europe   real-time streaming in any and all clouds, hybri...Big data conference europe   real-time streaming in any and all clouds, hybri...
Big data conference europe real-time streaming in any and all clouds, hybri...
Timothy Spann
 

Similaire à Build distributed, highly scalable applications in .NET using Microsoft Orleans (20)

Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
 
Azure basics
Azure basicsAzure basics
Azure basics
 
Microservices with Azure Service Fabric
Microservices with Azure Service FabricMicroservices with Azure Service Fabric
Microservices with Azure Service Fabric
 
NetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talksNetflixOSS Open House Lightning talks
NetflixOSS Open House Lightning talks
 
Understand oracle real application cluster
Understand oracle real application clusterUnderstand oracle real application cluster
Understand oracle real application cluster
 
Microservices deck
Microservices deckMicroservices deck
Microservices deck
 
Akka.Net Overview
Akka.Net OverviewAkka.Net Overview
Akka.Net Overview
 
Apache mesos
Apache mesosApache mesos
Apache mesos
 
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
 
Azure serverless architectures
Azure serverless architecturesAzure serverless architectures
Azure serverless architectures
 
Mule esb intoduction
Mule esb intoductionMule esb intoduction
Mule esb intoduction
 
Shopzilla On Concurrency
Shopzilla On ConcurrencyShopzilla On Concurrency
Shopzilla On Concurrency
 
Orleans: Cloud Computing for Everyone - SOCC 2011
Orleans: Cloud Computing for Everyone - SOCC 2011Orleans: Cloud Computing for Everyone - SOCC 2011
Orleans: Cloud Computing for Everyone - SOCC 2011
 
Presentation on Oracle Application Server
Presentation on  Oracle Application Server Presentation on  Oracle Application Server
Presentation on Oracle Application Server
 
Orleans Cloud Computing
Orleans Cloud Computing  Orleans Cloud Computing
Orleans Cloud Computing
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Zookeeper Tutorial for beginners
Zookeeper Tutorial for beginnersZookeeper Tutorial for beginners
Zookeeper Tutorial for beginners
 
Introduction to Windows Azure
Introduction to Windows AzureIntroduction to Windows Azure
Introduction to Windows Azure
 
Big data conference europe real-time streaming in any and all clouds, hybri...
Big data conference europe   real-time streaming in any and all clouds, hybri...Big data conference europe   real-time streaming in any and all clouds, hybri...
Big data conference europe real-time streaming in any and all clouds, hybri...
 

Plus de WinWire Technologies Inc

Plus de WinWire Technologies Inc (20)

Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service Accelerate Application Innovation Journey with Azure Kubernetes Service
Accelerate Application Innovation Journey with Azure Kubernetes Service
 
CRM Technology Trends to Watch in 2020
CRM Technology Trends to Watch in 2020CRM Technology Trends to Watch in 2020
CRM Technology Trends to Watch in 2020
 
Azure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse Analytics
 
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud PlatformsAzure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
 
Build a Modern Workplace using Microsoft Teams
Build a Modern Workplace using Microsoft TeamsBuild a Modern Workplace using Microsoft Teams
Build a Modern Workplace using Microsoft Teams
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as Code
 
Box to OneDrive Migration
Box to OneDrive MigrationBox to OneDrive Migration
Box to OneDrive Migration
 
Secure Your Cloud Environment with Azure Active Directory (AD)
Secure Your Cloud Environment with Azure Active Directory (AD)Secure Your Cloud Environment with Azure Active Directory (AD)
Secure Your Cloud Environment with Azure Active Directory (AD)
 
Building Hybrid Cloud Apps with Azure and Azure stack
Building Hybrid Cloud Apps with Azure and Azure stackBuilding Hybrid Cloud Apps with Azure and Azure stack
Building Hybrid Cloud Apps with Azure and Azure stack
 
Microsoft Teams – The Future of Teamwork in Office 365
Microsoft Teams – The Future of Teamwork in Office 365Microsoft Teams – The Future of Teamwork in Office 365
Microsoft Teams – The Future of Teamwork in Office 365
 
Designing Resilient Applications on Microsoft Azure/Disaster Recovery of Appl...
Designing Resilient Applications on Microsoft Azure/Disaster Recovery of Appl...Designing Resilient Applications on Microsoft Azure/Disaster Recovery of Appl...
Designing Resilient Applications on Microsoft Azure/Disaster Recovery of Appl...
 
Getting Ready for Hybrid SharePoint – SharePoint On-Premise, Office 365 & Az...
Getting Ready for Hybrid SharePoint –  SharePoint On-Premise, Office 365 & Az...Getting Ready for Hybrid SharePoint –  SharePoint On-Premise, Office 365 & Az...
Getting Ready for Hybrid SharePoint – SharePoint On-Premise, Office 365 & Az...
 
Azure Serverless with Functions, Logic Apps, and Event Grid
Azure Serverless with Functions, Logic Apps, and Event Grid  Azure Serverless with Functions, Logic Apps, and Event Grid
Azure Serverless with Functions, Logic Apps, and Event Grid
 
Drive Your Digital Transformation with Microsoft Dynamics 365
Drive Your Digital Transformation with Microsoft Dynamics 365 Drive Your Digital Transformation with Microsoft Dynamics 365
Drive Your Digital Transformation with Microsoft Dynamics 365
 
Modernize Your Infrastructure and Apps with Microsoft Azure
Modernize Your Infrastructure and Apps with Microsoft AzureModernize Your Infrastructure and Apps with Microsoft Azure
Modernize Your Infrastructure and Apps with Microsoft Azure
 
Modern Data Security for the Enterprises – SQL Server & Azure SQL Database
Modern Data Security for the Enterprises – SQL Server & Azure SQL DatabaseModern Data Security for the Enterprises – SQL Server & Azure SQL Database
Modern Data Security for the Enterprises – SQL Server & Azure SQL Database
 
Migration from eRoom to office 365
Migration from eRoom to office 365 Migration from eRoom to office 365
Migration from eRoom to office 365
 
Building Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft AzureBuilding Intelligent Cloud with Microsoft Azure
Building Intelligent Cloud with Microsoft Azure
 
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5) ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
 
DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Build distributed, highly scalable applications in .NET using Microsoft Orleans

  • 1. Build distributed, highly scalable applications in .NET using Microsoft Orleans
  • 2. Agenda Introduction – Microsoft Orleans1 Grains and Grain Persistence2 Cluster Management3 Streaming, Observers, Reentrancy4 Q & A5
  • 3. Implementation is based on the Actor Model Actor Model Orleans grains are virtual actors Orleans Grains Physical instantiations of grains are completely abstracted away and are automatically managed by the Orleans runtime Physical Instantiations Virtual Actor Model - High- scale dynamic workloads like cloud services Virtual Actor Model Build distributed high-scale computing applications without the need to learn and apply complex concurrency or other scaling patterns Introduction
  • 4. Introduction Typical stateless n-tier model Orleans as a Stateful middle tier
  • 5. Stateful 3-tier Architecture State Event Stream System WEB hosts with Orleans clients Orleans cluster
  • 6. Grains What is a grain Grain Identity • Primitives of the Orleans programming model. • Building blocks of an Orleans application, they are atomic units of isolation, distribution, and persistence. • Objects that represent application entities. • An individual grain is a uniquely addressable instance of a grain type (class). • Each grain has a unique identity, also referred to as a grain key, within its type. • Grain identity within its type can be a long integer, a GUID, a string, or a combination of a long+string or GUID+string
  • 8. Grains Active in Memory Deactivating Persisted Activating Grain Lifecycle Activation • Constructor of the grain is executed leveraging Dependency Injection, if applicable • If Declarative Persistence is used, the grain state is read from storage • If overridden, OnActivateAsync is called Deactivation • The grain remains idle for some time • Silo runtime decides to deactivate the grain • Silo runtime calls OnDeactivateAsync, if overridden • Silo runtime removes the grain from memory
  • 9. Grain Persistence Orleans provides different type of storage providers for persisting the grain state AzureTableGrainStorage AzureBlobGrainStorage DynamoDBGrainStorage MemoryGrainStorage AdoNetGrainStorage SQL Server MySQL/MariaDB PostgreSQL Oracle
  • 10. Cluster Management Orleans provides cluster management via a built-in membership protocol, which we sometimes refer to as Silo Membership. The goal of this protocol is for all silos (Orleans servers) to agree on the set of currently alive silos, detect failed silos, and allow new silos to join the cluster. Azure Table Storage Apache Zookeeper Consul IO AWS Dynamo DB In memory emulation for development setup Membership Table Implementations
  • 11. Streaming Streaming extensions provide a set of abstractions and APIs that make thinking about and working with streams simpler and more robust Makes the programming model compatible with and portable across a wide range of existing queuing technologies, such as Event Hubs, ServiceBus, Azure Queues, and Apache Kafka No need to write special code or run dedicated processes to interact with such queues For receiving data from streams implicit/explicit subscriptions can be used
  • 12. Reentrancy Grain activations are single-threaded and, by default, process each request from beginning to completion before the next request can begin being processing. In some circumstances, it may be desirable for an activation to process other requests while one request is waiting for an asynchronous operation to complete • The grain class is marked as [Reentrant] • The interface method is marked as [AlwaysInterleave] • The requests within the same call chain • The grain's MayInterleave predicate returns true
  • 13. Other Core Concepts 1 Timers and Reminders 2 Request Context 3 Event Sourcing 4 Grain Services 5 Interceptors 6 External Tasks and Grains 7 Stateless Worker Grains
  • 14. Demo
  • 15. Q & A • Website: www.winwire.com • Email: marketing@winwire.com • Blog: http://www.winwire.com/blog/ • Twitter: @winwire