|
||||||||||
上一个 下一个 | 框架 无框架 |
com.taobao.common.store.journal 中 Store 的使用 |
---|
实现 Store 的 com.taobao.common.store.journal 中的类 | |
---|---|
class |
JournalStore
一个通过日志文件实现的key/value对的存储 key必须是16字节 1、数据文件和日志文件在一起,不记录索引文件 name.1 name.1.log 2、data为真正的数据,顺序存放,使用引用计数 3、log为操作+key+偏移量 4、添加数据时,先添加name.1,获得offset和length,然后记录日志,增加引用计数,然后加入或更新内存索引 5、删除数据时,记录日志,删除内存索引,减少文件计数,判断大小是否满足大小了,并且无引用了,就删除数据文件和日志文件 6、获取数据时,直接从内存索引获得数据偏移量 7、更新数据时,调用添加 8、启动时,遍历每一个log文件,通过日志的操作恢复内存索引 |
com.taobao.common.store.memory 中 Store 的使用 |
---|
实现 Store 的 com.taobao.common.store.memory 中的类 | |
---|---|
class |
MemStore
|
com.taobao.metamorphosis.client.consumer 中 Store 的使用 |
---|
返回 Store 的 com.taobao.metamorphosis.client.consumer 中的方法 | |
---|---|
Store |
RecoverStorageManager.getOrCreateStore(String topic,
String group)
|
com.taobao.metamorphosis.client.extension.producer 中 Store 的使用 |
---|
类型参数类型为 Store 的 com.taobao.metamorphosis.client.extension.producer 中的字段 | |
---|---|
protected ConcurrentHashMap<String,FutureTask<Store>> |
LocalMessageStorageManager.topicStoreMap
表示以topic@partition为单位的store map |
返回 Store 的 com.taobao.metamorphosis.client.extension.producer 中的方法 | |
---|---|
protected Store |
LocalMessageStorageManager.getOrCreateStore(String topic,
Partition partition)
|
protected Store |
OrderedLocalMessageStorageManager.newStore(String name)
|
protected Store |
LocalMessageStorageManager.newStore(String name)
|
com.taobao.metamorphosis.client.extension.storage 中 Store 的使用 |
---|
实现 Store 的 com.taobao.metamorphosis.client.extension.storage 中的类 | |
---|---|
class |
MessageStore
保证先进先出顺序的JournalStore |
|
||||||||||
上一个 下一个 | 框架 无框架 |