dotnet / dotnet/orleans

Implementing Oneway Grain to Grain Media Streaming with Different Nodes and Silos in the Same Cluster

Open
#8,875 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
10.9k
Forks
2.1k
Avg merge
13h 56m
Merged PRs (30d)
351

Description

### **Description:**
I'm trying to implement a one-way grain to grain media streaming system using Orleans, where the sender and receiver grains are located on different nodes and silos within the same cluster. The goal is to efficiently stream media data between grains without storing it persistently in the cluster.

### **Issue:**
I'm facing challenges in configuring Orleans to support this scenario. The application uses gRPC endpoints for both nodes, meaning each node has a different gRPC endpoint for clients to get the response data. Specifically, I'm unsure about how to set up the communication between grains on different nodes and silos, ensuring efficient data transfer without unnecessary network overhead.

### **Questions:**
1. How can I configure Orleans to support one-way media streaming between grains on different nodes and silos, considering the use of different gRPC endpoints for each node?
2. Are there any best practices or guidelines for implementing such a system in Orleans?
3. Are there any specific considerations or limitations I should be aware of when implementing this feature?

### **Additional Context:**
I have already implemented a basic grain-to-grain communication within the same node and silo, but I'm struggling to extend this to support communication between grains on different nodes and silos.

Any help or guidance on this would be greatly appreciated!

Contributor guide

Open the contributing guide

Research direction

Begin with the existing same-node grain-to-grain communication and the separate gRPC endpoint setup described in the issue. Compare that behavior with the requested cross-node and cross-silo path, then define the one-way media-streaming design, endpoint responsibilities, network-overhead constraints, and limitations; done means a documented, validated approach for this scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, grpc
Domain
audio-video-rtc, backend-api-design, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.