ARCHIVE_REALTIME
)确保低延迟同步Raft 算法:
Raft 算法通过选举一个领导者(Leader)来管理所有复制日志的更新。领导者接收来自客户端的请求,并将这些请求作为日志条目附加到本地日志中,然后通过复制机制将日志条目安全地复制到所有跟随者(Follower)节点上。一旦大多数节点(包括领导者自身)确认了日志条目,该条目就被认为是已提交的,随后可以安全地应用到系统的状态机中。
核心改进:
数据同步流程:
RAFT概念 | 达梦 |
---|---|
Leader | Primary节点 |
Follower | Standby节点 |
Log Entry | Redo日志 |
Committed Index | 已持久化LSN |
维度 | 传统主备 | RAFT主备集群 |
---|---|---|
一致性机制 | 同步复制(MAL系统) | RAFT多数确认 |
故障切换速度 | 依赖守护进程检测(秒级) | 选举自动完成(毫秒级) |
扩展性 | 仅支持1主多备 | 支持多节点动态扩展 |
资源利用率 | 备库闲置 | 所有节点参与读写负载均衡 |
节点 | IP | 角色 | 数据目录 |
---|---|---|---|
Node1 | 192.168.1.101 | Leader | /dm_data/raft1 |
Node2 | 192.168.1.102 | Follower | /dm_data/raft2 |
Node3 | 192.168.1.103 | Follower | /dm_data/raft3 |
INSTANCE_NAME = RAFT_NODE1 # 节点唯一标识
RAFT_GROUP_ID = 1001 # RAFT组ID
RAFT_SELF_ID = 1 # 节点自身ID(1~n)
RAFT_PEERS = "192.168.1.101:5236,192.168.1.102:5236,192.168.1.103:5236"
./dmserver dm.ini RAFT_FORCE_LEADER=1 # 仅在初始节点执行
./dmserver dm.ini RAFT_JOIN=192.168.1.101:5236
文章
阅读量
获赞