InProc vs Remote
Clustron DKV supports two execution modes:
- In-Process (InProc)
- Distributed (Remote)
Both modes use the same API and programming model.
The Key Ideaβ
You can start local and scale to distributed without changing your code.
InProc β Remote
(no code changes)
This is a core design principle of Clustron.
In-Process (InProc)β
InProc mode runs entirely inside your application.
Application
βββ Store (InProc)
Characteristicsβ
- No infrastructure required
- No network communication
- Extremely fast (in-memory)
- Ideal for development and testing
When to Useβ
- Local development
- Unit and integration testing
- Single-instance applications
Distributed (Remote)β
Remote mode runs the store across multiple nodes.
Machine A β Node 1
Machine B β Node 2
Machine C β Node 3
Characteristicsβ
- Runs across machines
- Enables coordination between instances
- Provides high availability and scalability
- Uses network communication
When to Useβ
- Production systems
- Multi-instance applications
- Distributed workloads
Same API, Different Executionβ
The same code works in both modes:
await client.PutAsync("key", "value");
No changes are required when switching modes.
Configuration-Based Switchingβ
You can switch modes using configuration:
{
"Mode": "InProc"
}
{
"Mode": "Remote",
"Seeds": [
{ "Host": "localhost", "Port": 7861 }
]
}
What Actually Changes?β
| Aspect | InProc | Remote |
|---|---|---|
| Execution | Inside application | Across nodes |
| Network | None | Required |
| Setup | None | Installation required |
| Scale | Single instance | Multiple instances |
| Coordination | Local | Distributed |
Why This Mattersβ
Most systems force you to choose upfront:
- Local cache β simple but limited
- Distributed system β powerful but complex
Clustron lets you:
- Start simple
- Scale when needed
- Keep the same programming model
Whatβs Nextβ
π Continue to Keys & Values to understand how data is stored