Skip to main content
StreamNative Cloud leverages Apache Pulsar, a multi-tenant messaging and data streaming platform. Within Apache Pulsar, data streams are organized into Topics, which are grouped into Tenants and Namespaces. Tenants can span multiple clusters within a StreamNative Instance, and each tenant serves as an administrative unit where storage quotas, message TTL (Time to Live), isolation policies and etc. are managed. The structure of topic URLs in Pulsar, which highlights its multi-tenant architecture, is as follows:
In this structure, the tenant is the primary categorization unit for topics, more fundamental than the namespace or topic name itself. You can create and manage tenants, namespaces, topics, and their configurations and policies through the StreamNative Cloud console, the StreamNative CLI (snctl),the Pulsar CLI (pulsarctl), or Pulsar Admin APIs.

Tenants

A Pulsar tenant is an administrative entity used for capacity allocation and implementing authentication or authorization schemes. Each tenant in a Pulsar instance can have:
  • An assigned authorization scheme
  • A defined set of clusters where the tenant’s configurations are applicable

Namespace

A namespace in Pulsar is a logical grouping of topics. It serves as an administrative segment within a tenant, where configuration policies set at the namespace level apply to all topics within that namespace. A tenant can establish multiple namespaces to accommodate different applications, for example:

Topic

A topic in Pulsar is a storage unit that organizes messages into a stream. Similar to other publish-subscribe systems, topics in Pulsar act as named channels that facilitate message transmission from producers to consumers. The naming convention for topics follows a specific URL pattern:
The components of a topic name are defined as:

Relate topics

This section could include links or references to further reading on related topics or advanced configurations in Pulsar.