Configuring Message Spool Sizes

Guaranteed messages are spooled to an event broker service through the use of spool files. These files are stored on a message spool and the spool size you choose should support the number of messages that may need to be stored. If the event broker’s spool files are all in use, it cannot receive any more messages until some spooled messages are acknowledged, which could free some space in the message spool. If an event broker reaches its maximum spool file usage, negative acknowledgments (that is, 'NACKs') are returned to all publishing clients.Thresholds can be configured so that events are generated when the usage of the message spool gets too high.  For more information about Message Spools, see Message Spooling.

Message spool sizes of up to 6 TB are available as an add-on feature for an event broker service version 10.0 and later, and require Kubernetes version 1.23 or later. The 6 TB add on allows you to scale up the spool size of in-service event broker services. These features are not available by default, to enable them contact Solace.

Fore more information, see the following sections:

Default Message Spool Sizing

The initial message spool size is based on the service class type of the event broker service. For enterprise event broker service, the disk size is determined based on the service-class tier you use. The tier is based on either the connections or the size of the message storage that you select when you create a service. As an add-on feature, you can further specify spool sizes up to 6TB. For information, see Configurable Message Spool Sizing.

Service Class Type / Connections Default Message Spool Size Minimum Disk Size for Each Broker
Version 10.6.1 and earlier Version 10.7.1 and later Version 10.6.1 and earlier Version 10.7.1 and later
Enterprise 250 (Up to 250 connections) 25 GB 50 GB 50 GiB 65 GiB
Enterprise 1K (Up to 1000 connections) 50 GB 200 GB 100 GiB 260 GiB
Enterprise 5K (Up to 5000 connections) 200 GB 400 GB 400 GiB 520 GiB
Enterprise 10K (Up to 10,000 connections) 300 GB 600 GB 600 GiB 780 GiB
Enterprise 50K (Up to 50,000 connections) 500 GB 800 GB 800 GiB 1040 GiB
Enterprise 100K (Up to 100,000 connections) 500 GB 1000 GB 1000 GiB 1300 GiB

Configurable Message Spool Sizing

Configurable spool sizing is not available by default. To enable this feature, contact Solace.

You can specify the message spool size when creating an event broker service rather than use the default message spool sizes based on connections or service tier. For example, you may require a larger message spool size because you have large messages or higher rates of Guaranteed Messages. As an add-on feature, you can configure spool size up to 6TB, by entering the value when you create the service instead of utilizing the predetermined default values.

Considerations for Configuring Message Spool Size

The following are considerations when configuring message spool sizes:

  • Before you specify the size, you should have a good understanding of the size of the disk you need and the performance and future scaling requirements of your event-driven architecture (EDA). In general, these message spool limits should be configured in this manner for private and VPC cloud environments that you own. Here's a summary:
    • Performance Considerations: The message spool size that you consider ultimately refers to a disk size you'll require. The disk size required must be at least twice the size of your configured message spool size and then you'll require two of those disks for the event service (one for the primary service and one for the backup service). For this reason, the larger the message spool size that is chosen, the larger the disk size. Choosing a size that conforms to the available cloud provider sizes means typically that larger disk drivers used. In general, larger disk sizes are more performant, but also can be more costly.

      The minimum size is 10 GB for all cloud providers and maximum disk sizes are as follows:

      • Amazon Web Services (AWS) - 5TB
      • Microsoft Azure- 32TB
      • Google Cloud Platform- 64 TB
    • Scaling considerations: If your message spools are growing at a quick rate or coming close to the threshold, it would be better to consider using larger disks to ensure better migration to larger message spool sizes. That way you can scale your services with minimal effort. With the right permissions, you can scale your message spool size after the event broker service has been created. See Scalable Message Spool Sizing.

Configuring Message Spool Limits in the PubSub+ Cloud Console

As an add-on feature, you can configure the size of the message storage when you use Cluster Manager to create a service. Spool sizes up to 6TB are available. When you create your event broker service, set the size using these steps and then continue to configure your service as described in Creating Event Broker Services:

  1. For Service Type, select Enterprise or Developer .
  2. If you choose Enterprise, in the Connections list, select the number of connections.
  3. In the Messaging Storage (GB) field, you can set the value using one of the these methods:

    • beside the field, click the arrows to increase or decrease
    • You can specify up to 6000 if you have the appropriate account permissions. To enable these features contact Solace.
    • optionally, click Reset  to use the recommended default size; if you select a different connection size also resets the Message Storage (GB) to the recommended default

    If you specify a value that's too small for the number of connections that you chose, this could impact performance of your event broker service.

Scalable Message Spool Sizing

Scalable message spool sizing is not available by default. Scalable message spools require event broker service version 10.0 or greater in Kubernetes 1.23 and greater clusters, and the 6TB configurable spool size add-on feature. Contact Solace to enable this feature .

If you are unsure of your message spool size requirements, event broker services feature scalable message spools.

Considerations for Adding Scalable Message Spool Size to Existing Event Broker Services

Here are some considerations when deciding to enable scalable message spool size:

  • Expansion up to 6 TB is possible for event broker services 10.0 and later running in a version 1.23 or later Kubernetes cluster. To enable the additional message spool size contact Solace.
    • While possible, Solace does not fully support scaling message spool sizes above 4TB for event broker service in an Azure Kubernetes cluster. If you require scaling above 4TB and you encounter issues, contact Solace for support.
    • Other specifications related to scalable message spool sizing, including availability and implementation, can vary by cloud provider. Consult the Kubernetes and storage documentation for your cloud provider for full support specifications.
  • Modify an event broker service's message spool to be scalable in Cluster Manager or with the PubSub+ Cloud REST API. For more information, see one of the following sections:
  • Scalable message spool sizing allows event broker services to increase the message spool size as it requires memory, up to a limit you define. This can address issues, such as loss and blockage of messages from publishers and upstream services when reaching message spool capacity.
  • The Developer service class does not support message spool size scaling.

Adding Scalable Message Spool Size to Existing Event Broker Service

With scalable message spool sizing enabled, you can scale up the message spool size of an already created event broker service. You do this through the Management tab of an existing event broker service in the Cluster Manager of the Cloud Console. Contact Solace to enable this feature.

  1. From the Cluster Manager in the Cloud Console select an existing service.
  2. Click on the Manage tab and then select Advanced Options.

  3. Navigate to Message Spool Storage. The Datacenter Spool Expansion Support field has one of the following states:
    • Unknown—the ability to scale message spool size is unknown.
    • Available—the ability to scale message size is available.
    • Pending—a test to discover support for scaling of message spool size is currently running.
    • Unavailable—the ability to scale message spool size is not available.

    If the state is Unavailable, or Unknown, and you are using a private datacenter, you can check the datacenter's ability to scale up message spool size by clicking Test Spool Expansion. This runs a test which takes several minutes.

  4. If Datacenter Spool Expansion Support field state is Available, click Edit to open the Edit Message Storage dialog. You can attempt to increase the message spool size if the field state is Unknown, but expansion is not guaranteed to work. If you are using a private datacenter, you can run the expansion test detailed in step 3, otherwise contact Solace.

  5. Enter a value into the Desired Message Spool Size (GB) field and click Save.
    • The starting value in the field will be the current message spool size of your event broker service.
    • With the appropriate account permissions, you can specify a size up to 6000. This requires event broker service 10.0 and later running in a Kubernetes 1.23 or later cluster. To enable the additional message spool size, contact Solace.

    Pending appears next to the Current Message Storage (GB). The Pending status disappears once the scale up is complete.

    Once the increase in message spool size is complete, you must update the size of your queues in the Broker Manager so they use the new storage space. See Creating Your First Queue for information.