Distributed in‑memory message queuing system. Allows creating queues with various architectures depending on business needs.
System components use message queues to exchange information. A source component adds a message to a queue, using it like a buffer. The queue ensures that the message is not lost and delivers it to the receiving component.
Queues are used to manage requests and tasks within the system by maintaining the correct execution order and avoiding overload.
Message queues increase the reliability, scalability, and performance of the system. They allow performing asynchronous operations and simplify the integration of new services and applications.
The technology stack quickly becomes overwhelming when you use queues and data stores from different vendors.
Open‑Source solutions require a lot of resources for development
Most existing solutions store data on disk, which has limited resources
A classic queue with the ability to send delayed messages and configure priorities.
SQ is perfect for asynchronous and high-priority tasks. Examples:
A broker that guarantees that the messages are processed in the correct order.
The consumers receive only the messages they are subscribed to. This reduces unnecessary data traffic and improves processing efficiency. This architecture guarantees the highest possible throughput.
MQ architecture compared to SQ:
FIFO: the first element added to the queue is processed first
Priority queue: retrieves elements according to priority
Delayed messages
Subscription to messages with filtering
Message deduplication when publishing
Creating indexes based on messages
Sharding support
Support for synchronous and asynchronous replication
Message type
Put/
Publish/
Communication protocol
IPROTO
gRPC/
Routing method
Router (Tarantool instance)
GO application
Tell us about your tasks, and we will design
a custom Tarantool-based solution for you
Tarantool experts will
contact you shortly