Services

Clients and management users access the services available on the Solace PubSub+ through TCP service ports on an event broker.

Solace PubSub+ event brokers support the following services:

  • Solace Message Format (SMF)—This service allows clients to communicate with an event broker on the Message Backbone interface.
  • Solace Element Management Protocol (SEMP)—This service allows management applications to communicate with an event broker on the Management interface.
  • Web transport—This service allows Web clients to communicate with an event broker.
  • Solace Representational State Transfer (REST)—This service allows REST clients to communicate with an event broker using standard HTTP requests.
  • Message Queuing Telemetry Transport (MQTT)—This service allows clients to communicate with an event broker using the MQTT messaging protocol.
  • Advanced Message Queuing Protocol (AMQP)—This service allows AMQP clients to communicate with an event broker using the AMQP open standard application layer protocol.

Config-Sync will not automatically synchronize services. Therefore, if the event broker is being used in a high-availability (HA) redundant deployment or in a replicated site, you must manually configure services on each mate event broker or replicated Message VPN.

To determine whether an object/property is Config-Syncʼed, look up the command used to configure the object/property in the CLI Command Reference, or, in the Solace CLI end the command with “?”. The Help will list whether the object/property is Config-Syncʼed.

SMF Service Management

At the system-level, you can configure a listen port for SMF service and enable/disable SMF service on all Message VPNs on the event broker. You can also configure SMF events and event thresholds.

Setting SMF Listen Ports

:  You must shutdown SMF services on the event broker before setting the SMF listen ports, otherwise an error message is received.

To configure the TCP port number that SMF clients use when connecting to the event broker, enter the following commands:

solace(configure)# service smf
solace(configure/service/smf)# listen-port <port> {[compressed] [routing-control] [ssl]}

Where:

<port> specifies the TCP port number that SMF clients use when connecting to the event broker. The default value is 55555.

compressed specifies the port to connect to for exchanging Non-SSL compressed messages.

routing-control specifies the port to connect to for exchanging inter-node routing control messages. Note that Inter-node routing control messages cannot run over the compressed port. Therefore, you cannot specify compressed along with routing-control.

ssl specifies the port to connect to for exchanging Transport Layer Security (TLS)/ Secure Sockets Layer (SSL) traffic (with or without compression).

The no versions of this command do the following:

  • no listen-port resets the port to the default value of 55555
  • no listen-port compressed resets the port to the default value of 55003
  • no listen-port routing-control resets the port to the default value of 55556
  • no listen-port ssl resets the port to the default value of 55443

Enabling System-Level SMF Service

Disabling SMF service at the system-level will disconnect all client and event broker connections to the event broker. Therefore, it is recommended that if you need to stop SMF service on the event broker, you do so when the service disruption will have the least impact. Also, to avoid such a large service interruption, you can optionally disable SMF service only on specific Message VPNs (see Configuring SMF Service).

By default, SMF services are enabled on both Solace PubSub+ appliances and Solace PubSub+ software event brokers.

  • To enable SMF service on the event broker, enter the following commands:

    solace(configure)# service smf
    solace(configure/service/smf)# no shutdown

  • To disable SMF services on the event broker, enter the following commands:

    solace(configure)# service smf
    solace(configure/service/smf)# shutdown

Configuring SMF Events

You can optionally configure the set and clear thresholds at which system-level events are generated for a number or percentage of simultaneous SMF client connections. For information on how system-level service events can be generated and how to set the event thresholds for them, see Configuring System Event Thresholds.

SEMP Service Management

At the system-level, you can configure a listen port for SEMP service and enable/disable SEMP service on an event broker.

Setting a SEMP Listen Port

:  You must first shutdown SEMP service on the event broker before you can set a SEMP listen port.

To configure the TCP port number for SEMP clients to use when connecting to an event broker, enter the following commands:

solace(configure)# service semp
solace(configure/service/semp)# listen-port <port> [ssl]

Where:

<port> specifies the TCP port number to use for a SEMP connection to the event broker. The default value for plain text connections is 80.

ssl specifies the port number is for TLS/SSL-encrypted connections. The default value TLS/SSL connections is 55443.

The no versions of this command do the following:

  • no listen-port resets the port to the default value for plain text connections
  • no listen-port ssl resets the port to the default value for TLS/SSL connections

Enabling System-Level SEMP Service

Shutting down SEMP service at the system-level will cause a disruption in management service when run since it disconnects all SEMP and SolAdmin connections from the event broker. Therefore, it is recommended that if you need to stop SEMP service on the event broker, you do so when the service disruption will least impact to clients.

  • To enable SEMP services on the event broker, enter the following command:

    solace(configure/service/semp)# no shutdown

  • To disable SEMP services on the event broker, enter the following command:

    solace(configure/service/semp)# shutdown

REST Service Management

Solace PubSub+ event brokers can support REST clients. At the system-level, you can enable or disable REST incoming and/or outgoing connections to the event broker. You can also configure REST events and event thresholds.

Shutting down REST service at the system-level will disconnect all REST clients from the event broker and new clients will not be able to connect. Therefore, it is recommended that if you need to stop REST service on the event broker, you do so when the service disruption will least impact clients.

Enabling Incoming REST Connections

By default, service for incoming REST service connections is not running on an event broker.

  • To enable incoming REST service connections on the event broker, enter the following commands:

    solace(configure)# service rest
    solace(configure/service/rest)# incoming
    solace(configure/service/rest/incoming)# no shutdown

  • To disable incoming REST service connections on the event broker, enter the following commands:

    solace(configure)# service rest
    solace(configure/service/rest)# incoming
    solace(configure/service/rest/incoming)# shutdown

Enabling Outgoing REST Connections

By default, service for outgoing REST service connections is not running on an event broker.

  • To enable outgoing REST service connections on the event broker, enter the following commands:

    solace(configure)# service rest
    solace(configure/service/rest)# outgoing
    solace(configure/service/rest/outgoing)# no shutdown

  • To disable outgoing REST service connections on the event broker, enter the following commands:

    solace(configure)# service rest
    solace(configure/service/rest)# outgoing
    solace(configure/service/rest/outgoing)# shutdown

Configuring REST Events

For information on configuring REST client event thresholds, see Configuring REST Outgoing Service Event Thresholds.

Web Transport Service Management

At the system-level, you can configure a listen port for Web Transport service, specify the Web URL suffixes, and enable/disable Web Transport service on all Message VPNs on an event broker.

Setting Web Transport Listen Ports

:  You must first shutdown Web Transport services on the event broker before setting the Web Transport listen ports.

To configure the TCP port number for Web clients to use when connecting to the event broker, enter the following commands:

solace(configure)# service web-transport
solace(configure/service/web-transport)# listen-port <port> [ssl]

Where:

<port> specifies the TCP port number that Web clients use when connecting to the event broker. The default value is 80.

ssl specifies the port to connect to for exchanging TLS/SSL traffic. The default value is 443.

The no versions of this command do the following:

  • no listen-port resets the port to the default value of 80
  • no listen-port ssl resets the port to the default value of 443

Enabling System-Level Web Transport Service

Shutting down Web transport service at the system-level will disconnect all Web transport clients from the event broker and new clients will not be able to connect. Therefore, it is recommended that if you need to stop Web transport service on the event broker, you do so when the service disruption will least impact clients. Also, to avoid such a large service interruption, you can optionally disable Web transport service only on specific Message VPNs (see Configuring Web Transport Service).

By default, Web Transport service is not running on an event broker.

  • To start Web transport service on the event broker, enter the following commands:

    solace(configure)# service web-transport
    solace(configure/service/web-transport)# no shutdown

  • To stop Web transport service on the event broker, enter the following commands:

    solace(configure)# service web-transport
    solace(configure/service/web-transport)# shutdown

  • Web Transport service is locked by default on Solace PubSub+ appliances that are older than the SolOS version 8.4.0. To unlock Web Transport service on those appliances, you must have a valid product key supplied by Solace. For more information, see Product Keys .
  • To enable Web transport clients to connect to the event broker, you must start SMF services on the event broker because Web transport clients are also considered to be SMF clients. For more information, see Enabling System-Level SMF Service.

Specifying Web URL Suffixes

You can set the Web URL suffix that Web clients will receive from the event broker when they login, and then use when communicating with the event broker (for example, for the purpose of load balancing client sessions).

To specify a Web URL suffix, you must shutdown Web Transport services on the event broker, and then enter the following commands:

solace(configure)# service web-transport
solace(configure/service/web-transport)# web-url-suffix <suffix>

Where:

<suffix> specifies the text for a Solace Messaging Application Programming Interface (API) to append to the Web URL when communicating with the event broker. This text can contain up to 127 alphanumeric characters and should be unique among all created Web URL suffixes.

The no version of this command, no web-url-suffix, resets the Web URL suffix to the default value of empty string (that is, “ ”).

:  For more information on session load balancing and use of URLs, see Web Messaging Overview.

MQTT Service Management

You can enable or disable MQTT service at the system-level on event brokers.

Enabling System-Level MQTT Service

You can globally enable/disable MQTT service for an event broker. By default, MQTT service is not enabled.

  • To enable MQTT service on the event broker, enter the following commands:

    solace(configure)# service mqtt
    solace(configure/service/mqtt)# no shutdown

  • To disable MQTT service on the event broker, enter the following commands:

    solace(configure)# service mqtt
    solace(configure/service/mqtt)# shutdown

If you disable the MQTT service at the system level, you will disconnect all clients currently connected to any MQTT service-enabled Message VPNs on the event broker, and new clients will not be able to connect. Therefore, it's recommended that if you need to stop the MQTT service, you should do so when the service disruption will have the least impact. Also, to avoid large service interruptions, you have the option of disabling the MQTT service on individual Message VPNs (see Enabling and Disabling MQTT Connections).

AMQP Service Management

Solace event brokers offer service to support AMQP clients. At the system-level, you can enable or disable AMQP service on the event broker.

Enabling System-Level AMQP Service

You can enable or disable AMQP service at the system-level on Solace event brokers.

  • To enable AMQP service for the event broker, enter the following commands:

    solace(configure)# service amqp
    solace(configure/service/amqp)# no shutdown

  • To disable AMQP service for the event broker, enter the following commands:

    solace(configure)# service amqp
    solace(configure/service/amqp)# shutdown

If you disable AMQP service at the system level, you will disconnect all clients currently connected to any AMQP service-enabled Message VPNs on the event broker. To avoid such a large service interruption, you can disable AMQP service only on specific Message VPNs (see AMQP 1.0 Messaging Management).

Enabling All Messaging Services

The Solace event broker Message Backbone is a Virtual Routing and Forwarding (VRF) object that contains all Solace event broker interfaces (physical, LAG, and IP), and transports message and topic subscription traffic between client applications and the virtual routers on the event broker.

The message backbone acts as a global switch that enables or disables all messaging services at the global level. Disabling the message backbone disables all messaging services until the message backbone is re-enabled.

Services that are disabled using the message backbone switch will retain their individually configured states when the message backbone is re-enabled. For example, if Web transport service is in a disabled state when the message backbone is disabled, Web transport service will remain disabled when the message backbone is re-enabled.

Config-Sync will not automatically synchronize this object/property. Therefore, if the Solace PubSub+ event broker is being used in a high-availability (HA) redundant configuration or in a replicated site, you must manually configure this object/property on each mate event broker or replicated Message VPN.

To determine whether an object/property is Config-Syncʼed, look up the command used to configure the object/property in the Command Line Interface Reference, or, in the Solace CLI, end the command with “?”. The Help will list whether the object/property is Config-Syncʼed.

To shutdown the message backbone to disable all messaging services at a global level, enter the following commands:

solace(configure)# service msg-backbone shutdown
All clients will be disconnected.
Do you want to continue (y/n)? y

The no version of this command, no msg-backbone shutdown, globally enables messaging service. Services that were disabled before the message backbone was shutdown will remain disabled when this command is run.

Managing Service Event Thresholds

To configure the thresholds that define when system‑level events are generated for the number of simultaneous client connections to the event broker, enter the following command:

solace(configure)# service event

The CLI is now at a level at which you can configure the set and clear event thresholds at which system-level events are generated for the number of simultaneous client connections. These thresholds are set according to the service type used (for example, SMF, Web Transport, REST). For more information, see Configuring System Event Thresholds.