IF生产者正在发送大邮件大小的消息(假设120 MB)。 kahadb和levelDB如何处理这些消息。
kahadb:据我所知,日志大小默认为32 MB。如果我发送超过32MB的消息,它将如何处理这样的消息?我是否需要根据邮件大小将此大小更改为适当的值?
leveldb:默认情况下,100mB是存储消息数据的默认大小。之后滚动发生。 IF消息超过100mB。它是如何处理的?
谢谢,
ANuj
答案 0 :(得分:0)
对于Kahadb,我们有消息的滚动日志,消息和命令存储在固定长度的数据文件中,如果长度超过消息日志的大小,则创建新文件。 KahaDB只是将新消息附加到现有期刊,并负责创建新期刊。
此外,KahaDB将消息的索引保存为BTree。这些Btree索引保存对其消息ID索引的数据日志中的消息的引用。简而言之,KahaDB将在此索引的帮助下准确知道消息的存储位置。因此,不需要添加用于存储此消息的任何新配置
关于单个数据日志文件中的整个消息,我不确定是否需要进行一些研究 在尝试改变为KahaDB更新journalSizeLength之前,请完成此操作 link(阅读评论可能会有所帮助)
祝你好运!希望它有所帮助。