horizontal scaling proposal #136
luanshaotong
started this conversation in
General
Replies: 3 comments 1 reply
-
节点状态: 判断:
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
横向扩所容分为两个场景:
扩容
扩容过程首先由manager向所有server发出信息(可以由server反向同步),之后server之间同步数据,并同时处理请求。
同步文件
由目前已有的节点控制扩容进度,每个节点扫描所有文件并记录其中将被移动到新加节点的文件。
需要一个本地锁,标记文件状态:已同步,同步中,未同步,请求中(阻塞),不存在
同步完成
本地要迁移的文件全部迁移完成,会向manager发送同步完成的信号。当所有server全部发送了同步完成的信号后,就完成了整个扩容。manager通知client。
client端
只发送请求到原目标server
server请求处理
缩容
缩容过程首先由manager向所有server发出信息(可以由server反向同步),之后server之间同步数据,并同时处理请求。
同步文件
由删除控制扩容进度,扫描所有文件并记录其中将被移动到其他节点的文件。
需要一个本地锁,标记文件状态:已同步,同步中,未同步,请求中(阻塞),不存在
client server
处理逻辑同上
Beta Was this translation helpful? Give feedback.
All reactions