Files
Baradb/docs/tr/distributed.md

73 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dağıtık Sistemler
BaraDB Raft konsensüsü, parçalama ve çoğaltma ile dağıtık dağıtımı destekler.
## Raft Konsensüs
Lider seçimi ve log çoğaltma:
```nim
import barabadb/core/raft
var cluster = newRaftCluster()
cluster.addNode("node1")
cluster.addNode("node2")
cluster.addNode("node3")
let n1 = cluster.nodes["n1"]
n1.becomeCandidate()
n1.becomeLeader()
```
## Parçalama
```nim
import barabadb/core/sharding
var router = newShardRouter(ShardConfig(
numShards: 4,
replicas: 2,
strategy: ssHash
))
```
### Parçalama Stratejileri
| Strateji | Açıklama |
|----------|----------|
| `ssHash` | Hash tabanlı parçalama |
| `ssRange` | Aralık tabanlı parçalama |
| `ssConsistent` | Tutarlı hashleme |
## Çoğaltma
```nim
import barabadb/core/replication
var rm = newReplicationManager(rmSync)
rm.addReplica(newReplica("r1", "10.0.0.1", 9472))
```
### Çoğaltma Modları
| Mod | Açıklama |
|-----|----------|
| `rmSync` | Senkron çoğaltma |
| `rmAsync` | Asenkron çoğaltma |
| `rmSemiSync` | Yarı-senkron çoğaltma |
## Dağıtık İşlemler
İki aşamalı commit:
```nim
import barabadb/core/disttxn
var dt = newDistributedTxn()
dt.prepare(@["node1", "node2"])
dt.commit()
```
## Resmi Doğrulama
Temel dağıtık algoritmalar TLA+'da belirtilmiş ve model kontrolü yapılmıştır.