- Manage StreamNative Clusters
- Configure Clusters
Configure Cluster Settings
This topic describes how to configure different cluster settings for your StreamNative Cloud clusters.
Update cluster settings
To configure the cluster configuration, you can add the key-value setting pair to the config.custom
field in the PulsarCluster
specification.
For example, to configure the ttlDurationDefaultInSeconds
setting via snctl
, you can add the following to the PulsarCluster
specification:
apiVersion: cloud.streamnative.io/v1alpha1
kind: PulsarCluster
metadata:
name: my-cluster
spec:
config:
custom:
ttlDurationDefaultInSeconds: 10
Alternatively, you can configure the ttlDurationDefaultInSeconds
setting via Terraform by adding the following to the PulsarCluster
resource:
resource "streamnative_pulsar_cluster" "my-cluster" {
name = "my-cluster"
config = {
custom = {
ttlDurationDefaultInSeconds = 10
}
}
}
Available cluster settings
Note
The following table of available cluster settings is subject to change based on StreamNative's ongoing development and improvements. Always refer to the latest documentation or consult with StreamNative support for the most up-to-date list of available settings.
Backlog Settings
Setting | Description |
---|---|
backlogQuotaCheckEnabled | Enables or disables the backlog quota check. |
backlogQuotaCheckIntervalInSeconds | The interval at which the backlog quota check is performed in seconds. |
backlogQuotaDefaultLimitBytes | The default limit for the backlog quota in bytes. |
backlogQuotaDefaultLimitSecond | The default limit for the backlog quota in seconds. |
backlogQuotaDefaultRetentionPolicy | The default retention policy for the backlog quota. |
Retention Settings
Setting | Description |
---|---|
retentionCheckIntervalInSeconds | The interval at which the retention check is performed in seconds. |
TTL Settings
Setting | Description |
---|---|
ttlDurationDefaultInSeconds | The default Time-To-Live (TTL) duration for messages in seconds. |
messageExpiryCheckIntervalInMinutes | The interval at which message expiry is checked, in minutes. |
Resource Management Settings
Setting | Description |
---|---|
allowAutoTopicCreation | Enables or disables automatic topic creation. |
allowAutoTopicCreationType | Specifies the type of topics that can be automatically created. |
allowAutoSubscriptionCreation | Enables or disables automatic subscription creation. |
defaultNumPartitions | Sets the default number of partitions for automatically created partitioned topics. |
brokerDeleteInactiveTopicsEnabled | Enables or disables the deletion of inactive topics by the broker. |
brokerDeleteInactiveTopicsFrequencySeconds | Sets the frequency (in seconds) at which the broker checks for and deletes inactive topics. |
brokerDeleteInactiveTopicsMode | Specifies the mode for deleting inactive topics (e.g., delete_when_no_subscriptions, delete_when_subscriptions_caught_up). |
brokerDeleteInactivePartitionedTopicMetadataEnabled | Enables or disables the deletion of metadata for inactive partitioned topics. |
brokerDeleteInactiveTopicsMaxInactiveDurationSeconds | Sets the maximum duration (in seconds) a topic can be inactive before it's eligible for deletion. |
forceDeleteTenantAllowed | Allows or disallows forced deletion of tenants. |
forceDeleteNamespaceAllowed | Allows or disallows forced deletion of namespaces. |
subscriptionExpirationTimeMinutes | Sets the expiration time (in minutes) for inactive subscriptions. |
subscriptionExpiryCheckIntervalInMinutes | Sets the interval (in minutes) at which the system checks for expired subscriptions. |
Throttling Settings
Setting | Description |
---|---|
maxPendingPublishRequestsPerConnection | Maximum number of pending publish requests per connection. |
brokerMaxConnections | Maximum number of connections allowed to the broker. |
brokerMaxConnectionsPerIp | Maximum number of connections allowed per IP address. |
maxUnackedMessagesPerConsumer | Maximum number of unacknowledged messages allowed per consumer. |
maxUnackedMessagesPerSubscription | Maximum number of unacknowledged messages allowed per subscription. |
maxUnackedMessagesPerBroker | Maximum number of unacknowledged messages allowed per broker. |
maxUnackedMessagesPerSubscriptionOnBrokerBlocked | Maximum number of unacknowledged messages allowed per subscription when broker is blocked. |
topicPublisherThrottlingTickTimeMillis | Tick time for topic publisher throttling in milliseconds. |
preciseTopicPublishRateLimiterEnable | Enables or disables precise topic publish rate limiter. |
brokerPublisherThrottlingTickTimeMillis | Tick time for broker publisher throttling in milliseconds. |
brokerPublisherThrottlingMaxMessageRate | Maximum message rate for broker publisher throttling. |
brokerPublisherThrottlingMaxByteRate | Maximum byte rate for broker publisher throttling. |
maxPublishRatePerTopicInMessages | Maximum publish rate per topic in messages. |
maxPublishRatePerTopicInBytes | Maximum publish rate per topic in bytes. |
subscribeThrottlingRatePerConsumer | Subscribe throttling rate per consumer. |
subscribeRatePeriodPerConsumerInSecond | Subscribe rate period per consumer in seconds. |
dispatchThrottlingRatePerTopicInMsg | Dispatch throttling rate per topic in messages. |
dispatchThrottlingRatePerTopicInByte | Dispatch throttling rate per topic in bytes. |
dispatchThrottlingRatePerSubscriptionInMsg | Dispatch throttling rate per subscription in messages. |
dispatchThrottlingRatePerSubscriptionInByte | Dispatch throttling rate per subscription in bytes. |
dispatchThrottlingRatePerReplicatorInMsg | Dispatch throttling rate per replicator in messages. |
dispatchThrottlingRatePerReplicatorInByte | Dispatch throttling rate per replicator in bytes. |
dispatchThrottlingRateRelativeToPublishRate | Dispatch throttling rate relative to publish rate. |
dispatchThrottlingOnNonBacklogConsumerEnabled | Enables or disables dispatch throttling on non-backlog consumers. |
maxMessagePublishBufferSizeInMB | Maximum message publish buffer size in MB. |
dispatcherMaxReadBatchSize | Maximum read batch size for the dispatcher. |
Quota Settings
Setting | Description |
---|---|
maxNamespacesPerTenant | Maximum number of namespaces allowed per tenant. |
maxTopicsPerNamespace | Maximum number of topics allowed per namespace. |
maxProducersPerTopic | Maximum number of producers allowed per topic. |
maxSameAddressProducersPerTopic | Maximum number of producers with the same address allowed per topic. |
maxConsumersPerTopic | Maximum number of consumers allowed per topic. |
maxSameAddressConsumersPerTopic | Maximum number of consumers with the same address allowed per topic. |
maxSubscriptionsPerTopic | Maximum number of subscriptions allowed per topic. |
maxConsumersPerSubscription | Maximum number of consumers allowed per subscription. |
maxNumPartitionsPerPartitionedTopic | Maximum number of partitions allowed per partitioned topic. |
replicationProducerQueueSize | Size of the queue for replication producers. |
Topic & Subscription Settings
Setting | Description |
---|---|
enablePersistentTopics | Enables or disables persistent topics. |
enableNonPersistentTopics | Enables or disables non-persistent topics. |
subscriptionTypesEnabled | Specifies the enabled subscription types. |
subscriptionKeySharedEnable | Enables or disables key-shared subscriptions. |
subscriptionKeySharedUseConsistentHashing | Enables or disables consistent hashing for key-shared subscriptions. |
subscriptionKeySharedConsistentHashingReplicaPoints | Sets the number of replica points for consistent hashing in key-shared subscriptions. |
Deduplication Settings
Setting | Description |
---|---|
brokerDeduplicationEnabled | Enables or disables message deduplication on the broker. |
brokerDeduplicationMaxNumberOfProducers | Maximum number of producers for which information will be kept for deduplication purposes. |
brokerDeduplicationSnapshotFrequencyInSeconds | How often to take a snapshot of the deduplication information. |
brokerDeduplicationSnapshotIntervalSeconds | Interval between deduplication information snapshots for indexing. |
brokerDeduplicationEntriesInterval | Number of entries after which a deduplication informational snapshot is taken. |
brokerDeduplicationProducerInactivityTimeoutMinutes | Time of inactivity after which the broker will discard deduplication information about a disconnected producer. |
Namespace Bundles Settings
Setting | Description |
---|---|
defaultNumberOfNamespaceBundles | Default number of namespace bundles. |
Message Size Settings
Setting | Description |
---|---|
maxMessageSize | Maximum allowed message size. |
Compaction Settings
Setting | Description |
---|---|
brokerServiceCompactionMonitorIntervalInSeconds | Interval for monitoring compaction in seconds. |
brokerServiceCompactionThresholdInBytes | Threshold for compaction in bytes. |
brokerServiceCompactionPhaseOneLoopTimeInSeconds | Time for phase one of compaction loop in seconds. |
Delayed Delivery Settings
Setting | Description |
---|---|
delayedDeliveryEnabled | Enables or disables delayed message delivery. |
delayedDeliveryTickTimeMillis | Tick time for delayed delivery in milliseconds. |
Batch-index Acknowledgement Settings
Setting | Description |
---|---|
acknowledgmentAtBatchIndexLevelEnabled | Enables or disables acknowledgment at batch index level. |
Replicated Subscription Settings
Setting | Description |
---|---|
enableReplicatedSubscriptions | Enables or disables replicated subscriptions. |
replicatedSubscriptionsSnapshotFrequencyMillis | Frequency of replicated subscriptions snapshot in milliseconds. |
replicatedSubscriptionsSnapshotTimeoutSeconds | Timeout for replicated subscriptions snapshot in seconds. |
replicatedSubscriptionsSnapshotMaxCachedPerSubscription | Maximum cached snapshots per subscription for replicated subscriptions. |
Topic-level Policy Settings
Setting | Description |
---|---|
systemTopicEnabled | Enables or disables system topic. |
topicLevelPoliciesEnabled | Enables or disables topic-level policies. |
exposeTopicLevelMetricsInPrometheus | Enables or disables exposing topic-level metrics in Prometheus. |
Load Balancer Settings
Setting | Description |
---|---|
loadBalancerBundleUnloadMinThroughputThreshold | Minimum throughput threshold for bundle unloading in load balancer. |
loadBalancerNamespaceBundleMaxSessions | Maximum sessions for namespace bundle in load balancer. |
loadBalancerReportUpdateMaxIntervalMinutes | Maximum interval for load balancer report update in minutes. |
loadBalancerSheddingEnabled | Enables or disables load shedding in load balancer. |
loadBalancerSheddingGracePeriodMinutes | Grace period for load shedding in minutes. |
loadBalancerCPUResourceWeight | CPU resource weight for load balancer. |
Other Settings
Setting | Description |
---|---|
keepAliveIntervalSeconds | Keep-alive interval in seconds. |
numIOThreads | Number of I/O threads. |