Proper generic setup for clustered application
- Dominant language
- C#
- Stars
- 10.9k
- Forks
- 2.1k
- Avg merge
- 14h 42m
- Merged PRs (30d)
- 354
Description
Can we get a proper setup for a Orleans cluster with memory streaming(to remove any latency layer), I added a use case:
- Hosted by Kubernetes
- 20k activations might be needed for one-grain type.
- Streaming is needed, one producer(all grains will call one producer grain to write into stream)
- Frequent app updates will be delivered by the RollingUpdate deployment approach (no downtime, no errors expected with orleans)
This looks to be simple at first glance, but I have encountered too much hassle with
- Orleans streams due to delays in writing into streams,
- QueueCacheMissException
- SIlos dying or silo not found in directory
Contributor guide
Research direction
No files, tests, or entry points are named. Start by defining a minimal Orleans cluster on Kubernetes with memory streaming, then evaluate 20k activations, single-producer streaming, and RollingUpdate behavior against the reported latency, QueueCacheMissException, and silo-directory failures. Done means a generic setup addresses these use cases without downtime or errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, kubernetes
- Domain
- cloud, distributed-systems, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100