??
? ???? Raft ?? ????? ??? ???? etcd? Raft?? Raft Log ??? ?? ? ??? ???? ??? ????. ??? ??? etcd? Raft ??? ? ? ??? ? ??? ?? ??? ????? ???? ?? ??? ?? ??? ???? ????.
?? ??? ??
Raft ?? ????? ????? ?? ???? ???? ??? ???? ??? ??? ???? ?? ??? ?? ??? ?? ?????. ??? ??? ?? ????? ??? ??? ??? ??? ? ????.
? ???? ??? Raft Log? ?????. ????? ? ???? ??? ?? ???? ??? ?? Raft ??? ????. ?? ???? ????? ? ?? ??? ?????.
- ??: ?? ??? ??
- ??: ?? ??? ??? ?? ??? ??
- ???: ?? ??? ??? ????, ?? ?? ?? ? ? ????.
Raft Log? ???? 1?? ????, ?? ??? Raft Log? ???? Follower ??? ??? ? ??? ?? ???? ?? ?????.
?? ??? ????? ???? ??(?: 2/3, 3/5, 4/7)? ????? ???? ??? ??? ?????.
?? ??? ?? ??? ???? ??? ??? ?????.
etcd? ??? ?? ??
etcd raft? Go? ??? Raft ???? ??????, etcd, Kubernetes, CockroachDB ?? ?? ????? ?? ?????.
etcd raft? ?? ??? Raft ????? ?? ??? ????? ????. ???? Raft ???? ??? ??? ???? ??, ??? ???? ? ?? ?? ??? ???? ???(etcd? ?? ??? ?????).
etcd raft ??????? ????? ?? ?????. ???? ? ???? ?? ??? ???? ?? ???? ?????. ??? ??? ?? ? ???? ?? ????? ???? ?? ?? ??? ????. ??? ??? ???? ??? ?? ?? ???? ??? ????. ?? ??? ??? ??? ???? ???? Raft ????? ???? ?? ??? ?????.
etcd raft? ?? ???? ? ?? ?? ??? Go? ??? ?? ??? ???? ???? etcd raft ?????? ?? ???? ????.
?? ??? ???? ??
?? ? log_unstable
etcd raft?? Raft Log? ?? ??? log.go ? log_unstable.go ??? ??? ?? ??? raftLog ? ??????. ???? ??? raftLog ?? ?????.
- raftLog? Raft Log? ?? ??? ?????. ????? ???? Storage ?????? ?? ??? ?? ?? ??? ??? ? ????.
- ???? ???? ? ? ??? ?? ???? ?? ?? ??, ? ???? ?? ??? ?????.
etcd raft? raftLog? ????? ???? ???? ??? ??? ?????.
raftLog ? ??? ????
??? ????? ?? ? ????? etcd raft? ??? ??? ???? ??? ?? ?? ?? ?? ???? ??? ???.
type raftLog struct { storage Storage unstable unstable committed uint64 applying uint64 applied uint64 }
raftLog ?? ??:
- ????: ???? ??? ???? ??????, ?? ??? ?? ??? ???? ? ?????.
- ???: ???? ?? ??? ?????. ?? ??, ??? ???????? ??? ??? ?? ??? ??? ?? ??? ???? ?? ???? ??? ?????.
- committed: Raft ????? commitIndex? ??? ???, ????? ??? ?? ??? ???? ?????.
- ?? ?: ?? ?? ?? ?? ??? ?? ?? ??????.
- applied: Raft ????? lastApplied?? ??? ??? ?? ??? ??? ?? ??? ?? ?? ??????.
type unstable struct { entries []pb.Entry offset uint64 offsetInProgress uint64 }
??? ????:
- ??: ???? ????? ???? ???? ?? ?? ?????.
- ???: ??? ?? ??? ?? ??? ???? ? ?????. ??? ??[i] = ?? ??[i ???]???.
- offsetInProgress: ?? ???? ?? ??? ?????. ?? ?? ??? ??[:offsetInProgress-offset]?? ?????.
raftLog? ?? ??? ???? Raft ??? ??? ?? ??? ? ????. ??? ???? ??? ? ????? ?? ? ????. ?? ?? ??? ??? ??? ?? ? ??? ?? ?? ????.
Raft Log? ?? 5?? ?? ??? ???? ??? ?????. ?? 3?? ?? ??? ????? ???? ??? ? 3?? ?? ??? ?? ???? ????. ??? ??? ????.
offset=6? ???? ??? ?? 0, 1, 2? ?? ?? ??? ?? Raft Log? ?? 6(0 6), 7(1 6) ? 8(2 6)? ???? ?????. offsetInProgress=9? ???? ?? 0, 1, 2? ?? ? ?? ?? ??? ???? ????.entries[:9-6]? ?? ???? ??? ? ? ????.
Unstable?? offset? offsetInProgress? ???? ??? ???? ?? Raft Log ??? ???? ?? ?????.
????? ??
Raft ?? ?? ???? ??? ??? ???? ??? "???? ??"? etcd raft? ???? ???? ?? ?? ??? ???? ??? ?????.
??? ?
etcd raft? ?? ?? ?????? ???? ?? ???? ???????. Ready ???? ???? etcd raft??? ???? ??? ??? ? ?? ??? ?????.
type raftLog struct { storage Storage unstable unstable committed uint64 applying uint64 applied uint64 }
? ???? ?? Ready ????? ??? ??? ?? ??, ?? ??? ??? ?? ???, ??? ?? ?? ?? ???? ????.
Raft Log? ?? ????? Entries ? CommittedEntries ???? ???? ???.
- ??: ????? ?? ?? ?????. ??? ??? ???? ???? ?????? ???? ??? ? ????.
- CommittedEntries: ?? ???? ???? ?? ?? ?????.
type unstable struct { entries []pb.Entry offset uint64 offsetInProgress uint64 }
Ready? ?? ??? ??, ??? ? ?? ???? ??? ? Node ?????? Advance ???? ???? etcd raft? ??? ????? ??? ?? Ready? ???? ??? ? ????.
etcd raft? ?? ??? ?? ?? ???? ? ?? AsyncStorageWrites ??? ?????. ??? ???? ? ??? ???? ????.
etcd ?? ??
??? ???? ??? Ready ???? ???? ???? ? ??? ???. etcd raft ????? Ready ???? ????? ??? ??? ??? ??? ??? ???? ? ??? ???.
?? ???????? ? ????? ??? ?? ???? ??????. ? ?????? ???? ??? ?? ??? ?????(?? ???? ?? ???? ?????).
?? ????? ???? ? ? ????. ???? ??? ???? ???? ??? ???? ???? ??? ?? ?? ????? ??? ???? raftLog ? ???? ?? ???? ??? ????? ???????.
- HasReady: ???? ? ? ??? ????? ???? ?? Ready ???? ??? ?????. ?? ??, ?? ???? ?? ?? ??? ?? ??? ???? ?? ?? HasReady? true? ?????.
- readyWithoutAccept: HasReady? true? ??? ? ???? ? ???? ????? ?? ?? ??? ??? ??? ??? ?? ??? ???? ????? ??? Ready ???? ?????.
- acceptReady: etcd raft? ReadyWithoutAccept? ?? ??? Ready ???? ????? ??? ?? ?????. Ready?? ??? ?? ??? ?? ? ???? ???? ????, ???? Node.Advance? ??? ? ???? "??"? ???? ?? ??? ?? ? ???? ??? ?????.
- Advance: ???? Node.Advance? ??? ? acceptReady?? ??? “??”? ?????.
?? ? ??? ???? ??
??? ???? ? ? ?? ??? ??? ????.
1. ??? ≠ ???
??? ??? ?? ?? ??? Raft ????? ??? ??? ?? ??? ???? ??? ??? ?????. ??? etcd raft? Ready? ?? ??? ??? ?????? ?? ??? ?? ??? ??? ??? ? ????.
??? ??? ??? ?????? etcd raft? ??? ?? Advance ???? ???? etcd raft? ????? ?? ?? ???? ??? ??? ???? ?? ?? ??? ??? ??? ?????. ?? ?? ??? ??? Ready ???? CommittedEntries ??? ?? ????? ?? ??? ??? ? ????.
??? etcd raft? ??? ? ??? ???? ???? ??? ????? ???? ???? ??? ?? ??? ???? ???.
?????? Raft ??? commitIndex? ???? raftLog.committed? ?????? raftLog.commitTo ???? ???? ??? ?????.
2. ?? ≠ ??
etcd raft ??? raftLog.commitTo ???? ??? ? raft.committed ?????? ?? ??? ??? ??? ?????. ??? lastApplied < index <= commitIndex? ?? ?? ???? ???? ?????. etcd raft? ?????? ???? ?? ??? Ready? CommittedEntries ??? ???? ?? ?? ???? ??? ? ??? ???. Advance? ???? etcd raft? ??? ??? ??? ??? ?????.
??? ????? ???? ??? etcd raft?? ????? ?????. ???? ???? ??? ??? ?? ???? ????? ?? ???.
? ?? ??? ?? Raft??? ???? ??? ??? ? ??? ?? ??? ??? ??? ? ??? ????.
?? ?? ?? ??
????? ?? ??? ???? etcd raft? ??? ???? ??? ??? ?? ??? ???????.
?? ??
?? ???? ????? ???? ?? ?? ? ?? ?? ??? ???? ??? Raft Log?? ???????.
???? ??? raftLog ??? Storage? ??? ?? ??? ????, ???? ???? ??? ??? ??? ???? ?? ?? ??? ?????.
3?? ?? ??? ???? ?????? ??? ??? ?? 3?? ?????. ?? ??? ?? ???????? ?? ?? ?? ??? ???? ???? ? ???? 3???.
? ????? ??? ???? ????? ???? ??? ?? ????. Raft Log? ?? ?? ???? 4?? ??? 4? ???. ?? ???? ??? ???? offsetInProgress? 4? ?????.
?? ??
?? Raft Log? ? ?? ?? ??? ????? ??? ?????.
??? ?? ??? ?? ??? ???? ??? ?????. ? ????? ?? ??? ??? ??? ?? ???? ????.
???
HasReady ???? ??????? HasReady? ???? ?? ?? ??? ??? ????, ??? true? ?????.
???? ?? ?? ??? ??? ???? ??? ???? ??[offsetInProgress-offset:]? ??? 0?? ?? ??? ?? ?????. ??? ??? ???? ??? ????.
type raftLog struct { storage Storage unstable unstable committed uint64 applying uint64 applied uint64 }
???? ?? ?? ??? ? ? ???? HasReady? true? ???? ?????.
??????
readyWithoutAccept? ??? ????? ??? Ready ???? ???? ????. ???? ?? ? ?? ?? ??? ???? ReadyWithoutAccept? ??? Ready? ?? ??? ? ? ?? ?? ??? ?????.
????
acceptReady? Ready ???? ????? ??? ?? ?????.
acceptReady? ???? ?? ?? ??? ???? 6?? ???????. ?, [4, 6) ?? ?? ?? ??? ?? ???? ??? ?????.
??
???? ??? ?? ??? ??? ? Node.Advance? ???? etcd raft? ????. ??? etcd raft? acceptReady?? ??? "??"? ??? ? ????.
? "??"? ???? ???? ?? ??? ?? ??? ?? ?? ???? Storage.LastIndex 1(6)? ?????.
?? ?? ??
? ? ?? ??? ?? Raft ????? ??? ??? ?? ?????? ????? ? ? ?? ??? ??? ??? ??? ? ????.
???
??? ?? ????? HasReady? ?????? ?? ???? ?? ?? ??? ??? ???? true? ?????.
??????
readyWithoutAccept? ?????? ?? ???? ???? ?? ?? ??(4, 5)? ??? Ready? ?????.
? ??? ?? ??, ??? ?? ???? ??, ?? := ?? 1, ?? 1? ?????.
????
acceptReady? Ready?? ??? ?? ?? [4, 5]? ?? ??? ???? ??? ?????.
??
???? Node.Advance? ??? ? etcd raft? "??"? ???? 5? ??? ????? ???? ??? 5 ??? ?? ??? ?? ?? ??? ?????? ?????.
?? ??
??? ?? ?? ?? ?? ??? ?????. ?? ??? ??? ??? ?? ??? ??? ? ? ????.
??
Raft Log? ???? ???? ?? ??? ??? ? etcd raft ??? ?? ???????. ?? ?? etcd raft ??? Raft Log? ?? ??? ? ??? ???? ??? ??? ??????. ????? ?? ?? ??? ?? ??? ??? ?? ?? ?? ??? ?????.
? ?? ??? etcd raft ??? ???? ???? Raft Log? ?? ???? ???? ???? ? ??? ??? ????.
? ?? ??????. ??? ??? ??? ?? ??? ???? ?? ???? ??? ?????.
???, raft-foiver? ?? ??? etcd raft? ???? ????, Raft? ?? ?? ??? ???? Raft ??? ????? ?? ????????. ??? ? ?????? ???? ?? ?? ??????. ??? ???? Star, Fork, PR? ??? ?????!
??
- https://github.com/B1NARY-GR0UP/raft
- https://github.com/etcd-io/raft
? ??? etcd? Raft ?? ??: Raft Log? ?? ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

Golang? ?? ??? ??? ????? ??? ?? ???? ??? ? ??? ? ?? ????. ?? ??? ???, ?? ?? ? ??? ?? ?????? ????? API ??, ???? ???, ?? ???, ?????? ?? ? CLI ??? ?? ??? ?? ????? ???? ? ?????. Golang? ? ??? ??? ?? ??? ???? Gopherjs? ?? JavaScript? ?????? Tinygo? ?? WebAssembly?? ????? ??? ?? ??? ???? ?? ??? ???? HTML ???? ?? ? ? ????. ??? ???? ??? ?? ??? ??? ??JavaScript/TypeScript ? ???? ???????. ??? Golang? ??? ???? ???? ?? ?? ??? ? ?????.

GO?? GraphQlapi? ????? GQLGEN ?????? ???? ?? ???? ????? ?? ????. 1. ?? ???? ???? ?? ?? ??? ???? GQLGEN? ?? ??? ?????? ??????. 2. ?? ?? GraphQLSchema? ???? POST ?? ? ?? ??? ??? ?? API ?? ? ?? ??? ??????. 3. ?? ?? ????? ????? ?? ??? ???? Resolver?? ???? ??? ?????. 4. ????? ??? Qlhandler? httpserver? ???? ?? ???? ?? API? ???????. ?? ?? ?? ??, ?? ??, ?? ??? ? ?? ??? ???? ???? ?? ??? ?????.

GO? ???? ?? ??? ??? ???? ?? ??? ???? ??? ???? ????. 1. ?? ???? ?? ???? ??????? ?? ? ???? ??????. Windows? .msi ??? ???? MacOS? .pkg ??? ???? Linux? .tar.gz ??? ???? /usr /local ????? ??? ????. 2. Linux/MacOS?? ?? ??, ?? ~/.bashrc ?? ~/.zshrc? ???? ??? Gopath? ???? Windows Set ??? ??? ???? ?????. 3. ?? ??? ???? ??? ???? ??? ???? Hello.Go? ???? ?? ? ??? ???? ??????. ???? ???? ?? ?? ? ??

sync.waitgroup? ?? ? ??? ??? ?? ? ??? ???? ? ?????. ??? ??? ? ?? ??? ?? ?? ??? ???? : ??, ?? ? ??. 1. Aadd (n) ?? ? ?? ? ?? ?????. 2. DONE ()? ? ? ??? ??? ???? ???? 1 ? ?? ???. 3. Wait ()? ?? ??? ?? ? ??? ?? ? ??? ?????. ?? ??? ?? ?? ?? : ADD? ?? ? ???? ????????. ?? ??? ??? DON? ????? ??????. ??? ?? ???? ?? ????. ? ???? ?? ???, ?? ??? ?? ? ?? ?????? ????? ??? ????? ????? ?? ? ? ????.

Go? Embed ???? ???? ? ???? ??? HTML, CSS, ?? ? ?? ??? ???? ? ??? ?? ???? ????? ?? ???? ? ????. 1. ?? ? ???? ????? ??????. 2. ??/*? ?? ?? ????? ??? ? ??? embed.fs? ?? ?? ?? ??? ??? ? ????. 3. ?? ?? ?? ?? ??? ?? ??? ?? ??? ???? ???? ????? ?? ????. 4. ???? ???? ?? ???, ?? ?? ?? ? ?? ?? ?????????. Embed? ???? ??? ??? ????? ???? ??? ??? ? ? ????.

??? ? ??? ??? ??? ?? ???? ? ??? ??? ???? ? ????. 1. ?? ?????? ??, ???, ??, ??? ? ??? ???? ? ???? ??? ? ???? ????. 2. ??? ? ??? ??, ?? ??, ??? ???, ??? ?? ?? ?? ???? ??? ?? ??, ?? ???, ??? ?? ??, ?? ?? ?? ?? ?? ??? ? ????. 3. FFMPEG, OPENCV, WEBRTC, GSTREAMER ? ?? ??? ???? ??? ???? ?? ????. 4. ?? ?? ???? ???? ??, ???? ??? ??? ?? ??, ?? ??? ? ??? ?? ?????? ???????. ??? ?? ???? ????? ?? ???? ??? ??? ????? ? ??????.

?? ?? ??? ? ??? ???? ?? ??? ????. ??? Net/HTTP ???? ???? ?? ???? ???? ? ????. 1. net/http? ???? ?? ??? ??? ??????. ?? ?? ??? ???? ? ?? ??? ?? ??? ????. 2. ??? ?? : Servemux? ???? ?? ??? ? ??? ?? ?? ????? ??? ?????. 3. ???? ?? : ?? ?? ? ?? ??? ? ?? ?????? ???? ??? ??? ?????. 4. ?? ?? ??? : http.fileserver? ?? HTML, CSS ? JS ??? ?????. 5. ?? ? ?? : HTTPS ???, ?? ??? ??? ???? ?? ? ??? ????? ?? ?? ??? ?????. ??? ?? ???? ????? ??? ???? ?? ? ?? ????.

Select Plus Default? ??? ?? ??? ???? ??? ?? ????? ??? ? Select? ?? ??? ????? ???? ????. 1. ???? ?? ???? ???? ?? ? ? ??? ?? ??? ?? ??? ?? ?????. 2. ??? ??. ?? ?? ?? ????? ???? ?????. ??? ?? ?? ???? ?? ?? ????. 3. ?? ??? ????, ??? ?? ??? ???? ?? ?? ????? ???? ???????. ?? ??? ?? ?? ??? ?? ???? ?? ? ? ??? ?? ? ??? ?? ????? ??? ???? ????.
