Pulsar 基于 segment 的体系结构允许 topic 积压(backlogs)的非常多,而且是高效且没有限制的积压。 随着时间推移,这会让存储变得非常昂贵。
有一个降低消耗的办法,那就是使用分层存储(Tiered Storage) 使用分层存储,backlog中旧的消息,将被从bookKeeper转移到更低廉的存储机制中,当然还是允许客户端进入backlog,就像什么也没有发生一样。
写入bookKeeper的数据被默认复制到3台物理机。 但是,一旦segment在bookKeeper中被封闭,将会变成不可改变,并且可以被拷贝到长期存储中。 长期存储可以达到节省存储费用的目的。通过使用 Reed-Solomon error correction 机制,还可减少物理备份数量。
Pulsar目前支持S3作为长期存储。 可以通过Rest API或者命令行接口,卸载数据到S3。 用户传入他们想要保留在bookKeeper的topic数据的数量,broker将会拷贝backlog到S3. 原始数据将在配置的延迟时长后,从bookKeeper中删除(默认4小时)。
分层存储的配置指导,请参考 Tiered storage cookbook。
当前内容版权归 Apache Pulsar 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Apache Pulsar .