sofastack / sofa-jraft

A production-grade java implementation of RAFT consensus algorithm.
https://www.sofastack.tech/projects/sofa-jraft/
Apache License 2.0
3.56k stars 1.14k forks source link

有一个大对象,可能会超过多个g,需要存在快照里面 #1016

Closed chenzhanpeng closed 8 months ago

chenzhanpeng commented 1 year ago

当我序列化保存到磁盘文件的时候,大了就会慢,请问下sofajraft有什么现成的工具包,或者技术,能实现高速存储,恢复吗,还可以分豁文件,比如多少mb分割成一个小文件

fengjiachun commented 1 year ago

快照如何保存,jraft 没有提供什么工具包,快照本身完全是在业务状态机中实现,jraft 只是”触发“快照保存

如果是文件太大,一般有两个思路:

  1. 依靠 multi raft group 来减小单个状态机数据的大小,从而减小快照
  2. 在保存快照的实现中采用一些分割+并行保存和压缩的策略