About full heterogeneous cluster support?
- Dominant language
- C#
- Stars
- 10.9k
- Forks
- 2.1k
- Avg merge
- 14h 42m
- Merged PRs (30d)
- 354
Description
Documentation (https://learn.microsoft.com/en-us/dotnet/orleans/host/heterogeneous-silos) mentions that Orleans currently supports incomplete heterogeneous clusters. Stateless grains and implicit stream subscriptions are not supported.
I have some questions about "full" heterogeneous clusters:
1. Can GrainService be heterogeneous? Does `IConsistentRingProvider.GetPrimaryTargetSilo` handle heterogeneous GrainServices correctly?
2. What problems or obstacles prevent us from fully supporting heterogeneous clusters?
2. If there are many difficulties in the implementation and cannot be supported for a short time, can I delete the type in `GrainTypeOptions.Classes` by registering `IPostConfigureOptions` so that all nodes in the cluster can see the same interface definition, but different processes can only activate the specified implementation , to achieve heterogeneity while using stateless grain and implicit subscription?
Another question, if we can fully support heterogeneous clusters, is there an option to have processes disable system components. For example DHT Grain Directory, Reminder agent or Stream pulling agent? This is very useful for services that require more stable activation, such as real-time games.
Contributor guide
Research direction
Start with the heterogeneous clusters documentation and the named GrainService, IConsistentRingProvider.GetPrimaryTargetSilo, GrainTypeOptions, and IPostConfigureOptions entry points. Determine whether heterogeneous GrainServices and the proposed per-process component disabling are supported, identify the implementation obstacles, and document a concrete scope or decision for full support.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100