Pulsar 2.0

Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including simplified topic names, the addition of the Pulsar Functions feature, some terminology changes, and more.

New features in Pulsar 2.0

FeatureDescription
Pulsar FunctionsA lightweight compute option for Pulsar

Major changes

There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.

Properties versus tenants

Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the "property" terminology has been removed in version 2.0. The pulsar-admin properties command-line interface, for example, has been replaced with the pulsar-admin tenants interface. In some cases the properties terminology is still used but is now considered deprecated and will be removed entirely in a future release.

Topic names

Prior to version 2.0, all Pulsar topics had the following form:

  1. {persistent|non-persistent}://property/cluster/namespace/topic

Two important changes have been made in Pulsar 2.0:

No cluster component

The cluster component has been removed from topic names. Thus, all topic names now have the following form:

  1. {persistent|non-persistent}://tenant/namespace/topic

Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.

Flexible topic naming

All topic names in Pulsar 2.0 internally have the form shown above but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:

Topic aspectDefault
topic typepersistent
tenantpublic
namespacedefault

The table below shows some example topic name translations that use implicit defaults:

Input topic nameTranslated topic name
my-topicpersistent://public/default/my-topic
my-tenant/my-namespace/my-topicpersistent://my-tenant/my-namespace/my-topic

For non-persistent topics you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like non-persistent://my-topic and would need to use non-persistent://public/default/my-topic instead