Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: allow to track a published message by its ID
Updated message storage mechanism to allow to track a message by its ID. Messages are now stored as independent entities. A message now has a status which allow us to know for example if it has been already delivered or is currently waiting in the pending queue. The new message storage mechanism also improve the Redis memory space usage by allowing internally to reference a message by its ID instead of using the whole message alongside with its data during different operations. This should help to reduce the amount of data in use at different steps during message processing. Another improvement regards RedisSMQ configuration. A new configuration component has been introduced to allow setting up RedisSMQ from one place and only once instead of configuring each component separately when creating an instance. RedisSMQ API has been improved. The following components has been removed: MessageManager, QueueManager, DirectExchange, TopicExchange, FanOutExchange, FanOutExchangeManager. New components has been introduced: ExchangeDirect, ExchangeTopic, ExchangeFanOut, Namespace, Queue, QueueMessages, QueueAcknowledgedMessages, QueueDeadLetteredMessages, QueuePendingMessages, QueueScheduledMessages, QueueRateLimit. Finally, RedisSMQ typings have been also improved.
- Loading branch information