文件名称:persist:Golang的简单持久性或重放日志
文件大小:20KB
文件格式:ZIP
更新时间:2024-05-23 14:41:57
Go
持久性日志 此Golang包实现的持久性日志非常类似于数据库重播日志或预写日志(WAL):在对资源(任意数据结构)进行更改之前,应用程序将资源的新状态写入日志。 如果应用程序崩溃,可以重播日志以重新创建所有资源。 诀窍是定期旋转日志,以使其不会无限期增长。 这就是该持久性软件包所实现的。 持久性日志的特殊功能之一是,它不定义可以持久化到日志的操作集,也不需要超出典型的流式编码器/解码器缓冲区的存储。 特别是,它不会为开始新日志或创建快照而创建日志或内存中数据结构的副本。 取而代之的是,它向应用程序进行回调以枚举活动对象集。 目标 将提交到内存中的数据结构/数据库的更改持久保存到日志中 重放所有更改以重新创建内存中的数据结构 定期启动一个新的流,以免无限期地增加日志 使用日志以使副本服务器保持最新 不绑定到磁盘,而是允许日志转到远程服务器/服务 此持久层不能执行的某些操作: 多资源更新
【文件预览】:
persist-master
----.gitignore(281B)
----README.md(9KB)
----persist.go(7KB)
----noop_dest.go(634B)
----LICENSE(1KB)
----file_dest.go(8KB)
----suite_test.go(468B)
----persist_test.go(4KB)
----interface.go(4KB)
----.travis.yml(4KB)
----Makefile(4KB)
----file_dest_test.go(5KB)