Open kaixiangxiao opened 5 years ago
我们的设计思路是:作为非持久化存储,因为内存空间有限,只提供一次消费服务,即message被消费之后就会被清除,不提供回溯功能。因此nextOffset一直是0,minOffset一直是0,maxOffset为该queue下message的个数。可以查询未被消费的消息中,最早消息的时间。 结构设计:ConcurrentHashMap<String/Topic/, List<LinkedBlockingQueue/Mem Queue/>>/Queue List/ topicQueueList LinkedBlockingQueue作为queue。List作为同topic下所有queue的容器,为每个list建立读写锁,只在queue变更时加写锁。
ISSUE #1
我们的设计思路是:作为非持久化存储,因为内存空间有限,只提供一次消费服务,即message被消费之后就会被清除,不提供回溯功能。因此nextOffset一直是0,minOffset一直是0,maxOffset为该queue下message的个数。可以查询未被消费的消息中,最早消息的时间。 结构设计:ConcurrentHashMap<String/Topic/, List<LinkedBlockingQueue/Mem Queue/>>/Queue List/ topicQueueList
LinkedBlockingQueue作为queue。List作为同topic下所有queue的容器,为每个list建立读写锁,只在queue变更时加写锁。
ISSUE #1