Skip to content
CONNTAL

Pulsar subscription types: which one keeps your message ordering, and which one quietly drops it

Blog4 min read

The short answer

Pulsar has four subscription types. Exclusive allows one consumer and is the default. Failover lets several attach but sends messages to one active consumer per partition. Shared spreads messages round-robin and does not guarantee ordering. Key_Shared spreads work across consumers while keeping messages with the same key on one consumer at a time, preserving order per key.

Hiring for this?

Conntal places Pulsar engineers on contract, contract-to-hire or direct hire, each screened by a practitioner before you see a CV.

In Pulsar, the subscription type decides how messages are shared out among consumers, and with it whether ordering survives. Teams arriving from other platforms often pick the type that scales best and only later discover what it cost them. All four are defined in Pulsar's messaging concepts documentation [1].

The four types

  • Exclusive only allows a single consumer to attach to the subscription [1]. It is the default type [1]. With one consumer reading, messages are processed in the order they arrive — at the price of no parallelism.
  • Failover lets multiple consumers attach, but picks a master consumer for a non-partitioned topic, or for each partition of a partitioned topic, and that consumer receives the messages [1]. The others stand by, so ordering holds within each partition while still surviving a consumer failure.
  • Shared lets multiple consumers attach and delivers messages in a round-robin distribution [1]. The documentation is explicit that Shared subscriptions do not guarantee message ordering [1].
  • Key_Shared also distributes messages across consumers, but messages with the same key are delivered to only one consumer at a time, which preserves the order of delivery by key [1].

The wider point

The subscription type is a correctness decision disguised as a scaling knob. Engineers who have run Pulsar in production ask what order the consumers need before they ask how many there should be — which is why it sits in the messaging screen we publish.

Hiring for this?

Conntal places Pulsar engineers on contract, contract-to-hire or direct hire, each screened by a practitioner before you see a CV.

Sources

  1. [1] Apache Software Foundation, Apache Pulsar: Messaging concepts. Retrieved 7 October 2026.Primary source

Go deeper with the engineers who run it

Conntal is the staffing arm of AceMQ. When you need the platform supported rather than a person placed, these are the pages to read.

Related questions

Which Pulsar subscription type preserves message ordering?

Exclusive and Failover deliver to a single active consumer (per partition, for Failover), so messages are processed in order. Key_Shared preserves order per key while spreading work across consumers. Shared does not guarantee ordering.

What is the default Pulsar subscription type?

Exclusive, which allows only a single consumer to attach to the subscription.

Tell us the role. A practitioner scopes it, not a recruiter.

Send the requirement — or the job description you are not happy with — and an engineer who runs this technology will tell you what is missing before we source anyone.