Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InMemoryQueue

Problem Statement:

Design an efficient in-memory queueing system with low latency requirements Functional specification:

● Queue holds JSON messages

● Allow subscription of consumers to messages that match a particular expression

● Consumers register callbacks that will be invoked whenever there is a new message

● Queue will have one producer and multiple consumers

● Consumers might have dependency relationships between them. For ex, if there are three consumers A, B and C. One dependency relationship can be that C cannot consumer a particular message before A and B have consumed it. C -> (A,B) (-> means must process after)

● Queue is bounded in size and completely held in-memory. Size is configurable.

● Handle concurrent writes and reads consistently between producer and consumers.

● Provide retry mechanism to handle failures in message processing.

About

This is an In Memory Queue. which allows consumers to listen to the messages and producer to produce the messages.It also allows consumers to add dependency for retrieval by making graph of consumer dependencies and performing topological sorting on them.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages