-
Notifications
You must be signed in to change notification settings - Fork 178
persistent
Beta版厨子3.0® edited this page Nov 15, 2016
·
2 revisions
KiteQ提供三种不同可靠级别的存储适用于不同的可靠级别场景。
-
存储支持:
-
Memory(https://github.com/blackbeans/kiteq-common/tree/master/store/memory)
基于内存消息存储可靠级别低
-
File (https://github.com/blackbeans/kiteq-common/tree/master/store/file)
基于本地文件的消息存储,可靠性取决于磁盘。参考kafka文件存储实现,索引文件在内存中,按ID做segment切分,并且Segment内部采用ChunkId有序。查询根据二分查找到segement,segment内部使用offset查询到对应的Chunk。
Store-File
Filestore is include two part, segment and log.
The data struct of segment is below:
The data struct of segment log is below:
-
Mysql M-S (https://github.com/blackbeans/kiteq-common/tree/master/store/mysql)
基于Mysql的Master-Slave结构存储消息,并基于database/sql包优化写入,做到批量写入、更新、删除操作。
-
More ...
你也可以自定义自己的存储,只要实现IKiteStore接口(https://github.com/blackbeans/kiteq-common/blob/master/store/kite_store.go#L72)即可。其实如果可以可以尝试一下rocksdb。
-