Configuring Topic Endpoints
A topic endpoint on an event broker attracts guaranteed messages for a single topic. For general information about topic endpoints, see Topic Endpoints and Queues, and formore detailed information, see Topic Endpoints.
To configure a topic endpoint, perform these steps:
- Open Broker Manager. For instructions, see Using PubSub+ Broker Manager.
- In Broker Manager, in the left navigation bar, select Queues.
- Click the Topic Endpoints tab.
- Click + Topic Endpoint.
- Enter the name for the topic endpoint and click Create.
-
Set the following options for the topic endpoint:
Setting Description Incoming
Specifies whether messages can be written to the topic endpoint.
Outgoing
Specifies whether messages can be consumed from the topic endpoint.
Access Type
Specifies how messages are delivered when multiple consumer flows are bound to the topic endpoint.
- Exclusive specifies that only one consumer can receive a message at any one time, while additional consumers may be connected as standby. Only the first consumer to bind can receive messages. If the first consumer disconnects, the second consumer receives data, and so on. Exclusive topic endpoints always deliver messages in the order they are received.
- Non-Exclusive specifies that multiple consumers can bind to the topic endpoint, which enables load balancing and consumer auto-scaling. Each consumer is serviced in a round-robin fashion. If a connection fails, unacknowledged messages are delivered to another consumer with the re-delivered flag set. In this way, messages can be delivered to consumers out of order.
Messages Queued Quota
Specifies the maximum amount of message data, in MB, that can be spooled in the topic endpoint.
-
Alert Thresholds—Specifies the thresholds that control when message spool-related events are generated for the topic endpoint.
Owner
The topic endpoint owner has full unlimited permissions for the topic endpoint. The owner can consume, delete, or modify topics in the topic endpoint. By default, users with access to PubSub+ Broker Manager have ownership privileges. You can also give ownership to client applications.
Non-Owner Permission
Specifies the access level given to client applications other than the topic endpoint owner:
-
No Access—Disallows all access.
-
Read Only—Read-only access to the messages.
-
Consume—Consume (read and remove) messages.
-
Modify Topic—Consume messages or modify the topic or selector.
-
Delete—Clients can consume messages, modify the topic or selector, and delete the client created endpoint altogether.
Maximum Consumer Count
Specifies the maximum number of consumer flows that can bind to the topic endpoint.
-
Alert Thresholds—Specifies the thresholds that control when consumer flow alerts are generated for the topic endpoint.
-
(Optional) Click Show Advanced Settings, and set any additional options from the table below for your topic endpoint.
Setting Description Messages Queued Quota
Specifies the maximum amount of message data, in MB, that can be spooled in the topic endpoint.
-
Alert Thresholds—Specifies the thresholds that control when message spool-related events are generated for the topic endpoint.
Owner
The topic endpoint owner has full unlimited permissions for the topic endpoint. The owner can consume, delete, or modify topics in the topic endpoint. By default, users with access to PubSub+ Broker Manager have ownership privileges. You can also give ownership to client applications.
Non-Owner Permission
Specifies the access level given to client applications other than the topic endpoint owner:
-
No Access—Disallows all access.
-
Read Only—Read-only access to the messages.
-
Consume—Consume (read and remove) messages.
-
Modify Topic—Consume messages or modify the topic or selector.
-
Delete—Clients can consume messages, modify the topic or selector, and delete the client created endpoint altogether.
Maximum Consumer Count
Specifies the maximum number of consumer flows that can bind to the topic endpoint.
-
Alert Thresholds—Specifies the thresholds that control when consumer flow alerts are generated for the topic endpoint.
Maximum Message Size
Specifies the maximum message size, in bytes, for the topic endpoint.
Maximum Delivered Unacknowledged Messages per Flow
Specifies the maximum number of messages delivered but not acknowledged per flow for the topic endpoint. After this maximum number of delivered unacknowledged messages is exceeded, the event broker stops delivering messages to the client on the flow until the client acknowledges messages that are already delivered.
DMQ Name
The name of the dead message queue (DMQ) used by this topic endpoint. The default is
#DEAD_MSG_QUEUE
. Solace recommends using a separate DMQ for each queue and topic endpoint that requires one and setting the DMQ name to the name of the queue, followed by "_dmq", for exampleMyQueue_dmq
.A DMQ collects undelivered messages that would otherwise be discarded from the topic endpoint because the Maximum TTL or Maximum Redelivery Count has been reached.
Messages are sent to a DMQ only if the publisher specifies that the message is DMQ-eligible and if a topic endpoint with the specified DMQ name exists on the same event broker service. For more information, see Configuring Dead Message Queues.
Enable Client Delivery Count Specifies whether client applications can query the message delivery count of messages received from the topic endpoint. Enabling client delivery count is a Controlled Availability (CA) feature. Please contact Solace to find out if this feature is supported for your use case.
Delivery Delay
Specifies the number of seconds of delay between the message arriving in the topic endpoint and being sent to the consumer. For more information, see Delayed Delivery. The default is 0, or no delay.
Respect Message Priority
Specifies whether the topic endpoint supports priority message delivery and delivers higher priority messages first. For more information, see Message Priority.
Message Expiry
Specifies whether messages that have not been delivered to the consumer expire at the end of the message time-to-live (TTL). If a message is not consumed and its TTL time is reached, the message is discarded or moved to a dead message queue (DMQ). Message expiry has two settings:
-
Respect TTL—Specifies whether the topic endpoint acts on TTL values set for either the topic endpoint or by the message publisher.
-
Maximum TTL—Specifies the TTL that the topic endpoint applies to messages when the message arrives in the topic endpoint. A value of 0 means that the topic endpoint does not impose a limit.
Messages can also have a publisher-supplied TTL, which indicates how long the publisher considers a message to be valid. This differs from the maximum TTL for the endpoint in that the publisher TTL expiration starts when a message is published and counts down as the message passes through the network. If a message has both a publisher-assigned TTL and an endpoint-assigned maximum TTL, the event broker uses the minimum of the two TTL values when the message is in the endpoint.
Redelivery
Specifies the options for message redelivery attempts if the message is not delivered to the consumer on the first attempt.
Disabling message redelivery and enabling delayed redelivery are Controlled Availability (CA) features. Please contact Solace to find out if those feature are supported for your use case.
Redelivery has the following settings:
-
Try Forever—Specifies that the topic endpoint attempts to deliver the message to the consumer until delivery is successful. This is the default.
-
Maximum Redelivery Count—Specifies the maximum number of times the topic endpoint attempts to deliver the message to the consumer. This value is respected only if Try Forever is not selected. If the message is not delivered successfully after the specified number of attempts, the message is discarded or is moved to a dead message queue (DMQ).
-
Delayed Redelivery—Specifies whether the topic endpoint waits between message redelivery attempts. This option is disabled by default.
-
Multiplier— If Delayed Redelivery is selected, specifies the multiplier for each subsequent delay. For example, if the Initial Delay is 1000 milliseconds (one second), and the multiplier is 2.00, the topic endpoint waits for two second before the second redelivery attempt, four seconds, before the following attempt, and so on until the Maximum Delay is reached. You can set a value between 1.00 and 5.00.
-
Initial Delay—If Delayed Redelivery is selected, specifies the delay in milliseconds before the first redelivery attempt. The default is 1000 milliseconds (one second).
-
Maximum Delay—If Delayed Redelivery is selected and the Multiplier is set to a value greater than 1.00, specifies the maximum delay in milliseconds.
Reject Messages to Sender on Discard Specifies when and how negative acknowledgments are returned to the sending client on message discards.
-
Silent—Silently discards messages.
-
Notify-Sender—Negatively acknowledge the message discard back to the client, except for messages that are discarded because a topic endpoint is disabled.
-
Notify-Sender-Include-Shutdown—Negatively acknowledge the message discard back to the client, including messages that are discarded because a topic endpoint is disabled.
Reject Low Priority Messages
Specifies whether low priority messages are discarded to protect against congestion scenarios. When enabled, low priority messages are checked against the reject low priority messages limit. The topic endpoint can selectively discard low priority messages only after the total number of spooled low priority and high priority messages exceed the value set for the reject low priority messages limit . Before enabling it is recommended that the reject low priority messages limit has a non-zero value to avoid inadvertently discarding all low priority messages.
Reject Low Priority Messages Limit Specifies the limit above which low priority messages are not admitted but higher priority messages are allowed. Before enabling it is recommended that the reject low priority messages limit has a non-zero value to avoid inadvertently discarding all low priority messages.
-
Alert Thresholds—Specifies the thresholds that control when the maximum allowed number of priority messages queued alerts are generated for the topic endpoint.
Consumer Acknowledgment Propagation
Specifies whether consumer acknowledgments received on the active replication Message VPN propagate to the standby replication Message VPN. Bridges cannot bind to topic endpoints configured with consumer acknowledgment propagation.
-
- Click Apply.