Unified Messaging and Streaming
Let’s start by talking about Pulsar’s feature of being both a messaging and streaming platform.
Data Streaming

Data streaming is the process of transmitting data continuously and in real-time from a source to a destination. The data is sent in small pieces, and is processed or analyzed as received. Streaming works best when this data needs to be processed in the right order. The data can also be persisted and replayed in order.
Message Queueing
Pulsar can also work a messaging platform.
Messages sent by producers are treated as a work queue ready for processing by a consumer. However, the processing of each message can be a time-consuming task that can’t be handled by a single consumer. Instead, we create a group of consumers where messages are dispersed across these consumers for processing. When using a message queue, the tasks don’t need to be performed in a strict order.


Message Queueing vs Streaming

Message queueing and data streaming require a different set of features.
What is great with Pulsar is that Pulsar has all of these features. It can process large data streams, like Kafka. But Pulsar also provides message queue features like RabbitMQ.

For more information on how Pulsar implements both messaging and streaming with subscriptions, view the Pulsar documentation here.
