Open xdCao opened 5 years ago
fix issure #1
考虑基于内存缓存来做非持久化的broker,起初的想法是直接不要类似于commitLog的线性的物理结构,直接采用Map<String/topic/,List>的形式进行存储,这样方便直接根据topic查找数据,并且由于是在内存中,不需要进行逻辑队列-》物理队列的查找,但是由于接口的限制,需要实现很多偏移量相关的接口,因此一个线性的数据存储结构是必须的。所以现在使用一个List来存储消息实体,再使用一个Map<String,List>存储Topic和其中的消息的offset的对应关系,来记录消息数据的偏移量。
由于时间仓促,且对rocketMQ的了解不够,broker是一个牵涉东西比较复杂的模块,很多特性都没有去考虑,像HA,故障重试等等,只是实现了一个简单的数据存取。
题目:为RocketMQ提供非持久化的Broker
fix issure #1
Brief changelog
考虑基于内存缓存来做非持久化的broker,起初的想法是直接不要类似于commitLog的线性的物理结构,直接采用Map<String/topic/,List>的形式进行存储,这样方便直接根据topic查找数据,并且由于是在内存中,不需要进行逻辑队列-》物理队列的查找,但是由于接口的限制,需要实现很多偏移量相关的接口,因此一个线性的数据存储结构是必须的。所以现在使用一个List来存储消息实体,再使用一个Map<String,List>存储Topic和其中的消息的offset的对应关系,来记录消息数据的偏移量。
由于时间仓促,且对rocketMQ的了解不够,broker是一个牵涉东西比较复杂的模块,很多特性都没有去考虑,像HA,故障重试等等,只是实现了一个简单的数据存取。