跳到主要内容

配置客户端配置文件

客户端配置文件与客户端用户名账户相关联,以便管理员可以轻松地将通用配置应用于客户端组。

要创建客户端配置文件,请输入以下命令:

solace(configure)# create client-profile <name> message-vpn <vpn‑name>

要编辑现有客户端配置文件,请输入以下命令:

solace(configure)# client-profile <name> message-vpn <vpn-name>

其中:

<name> 是客户端配置文件的名称。客户端配置文件名称可以包含最多 32 个字母数字字符(区分大小写)。也允许使用“_”字符。

<vpn-name> 是客户端配置文件所在的消息 VPN 的名称。

此命令的 no 版本,no client-profile,删除指定的客户端配置文件,与该配置文件相关联的客户端用户名将与名为 default 的配置文件相关联。名为 default 的配置文件不能被删除。

删除客户端配置文件会导致许多客户端用户名账户的配置文件更改回名为 default 的配置文件。这可能会导致客户服务的不可预见中断。要列出使用特定客户端配置文件的所有客户端,请为给定的客户端配置文件输入 show client-profile <name> detail 用户 EXEC 命令。

在本节中,我们将向您展示可以在客户端配置文件上执行的各种配置任务。请注意,配置的参数将应用于分配了客户端配置文件的客户端用户名账户。

允许桥接连接

消息 VPN 桥接功能允许 Solace PubSub+ 事件代理上的消息 VPN 之间进行互连。默认情况下,消息 VPN 桥接功能对客户端不可用——它必须首先在事件代理上的客户端配置文件中进行配置。

要允许使用此客户端配置文件的客户端使用消息 VPN 桥接,请输入以下命令:

solace(configure/client-profile)# allow-bridge-connections

此命令的 no 版本,no allow-bridge-connections,从客户端配置文件中移除使用消息 VPN 桥接的权限。在事件代理运行期间更改此权限不会影响现有会话。仅在客户端会话建立时进行验证。

允许共享订阅

由于允许客户端随意访问 MQTT 和 SMF 共享订阅存在潜在安全问题(客户端可能会加入共享订阅并分流部分流量),您可以配置特定客户端是否可以使用共享订阅。默认情况下,不允许客户端使用共享订阅。

要允许使用此配置文件的客户端使用共享订阅,请输入以下命令:

solace(configure/client-profile)# allow-shared-subscriptions

此命令的 no 版本,no allow-shared-subscriptions,从客户端配置文件中移除使用共享订阅的权限。

  • 允许共享订阅是一个全有或全无的设置。这意味着允许使用共享订阅的客户端可以订阅消息 VPN 中的所有共享订阅。如果您想控制对特定共享订阅的访问,可以使用 ACL 配置允许(或拒绝)的共享名称列表,然后将其与客户端配置文件关联。有关详细信息,请参阅配置共享名称订阅权限。
  • Web 消息客户端不支持共享订阅。

允许客户端连接到复制备用VPN

要允许使用给定客户端配置文件的客户端连接到具有备用复制状态的消息 VPN,请为具有活动复制状态的消息 VPN 上的客户端配置文件输入以下命令:

solace(configure/client-profile)# replication

solace(configure/client-profile/replication)# allow-clients-when-standby

此命令的 no 版本,no allow-clients-when-standby,不允许客户端在消息 VPN 具有备用复制状态时连接。默认情况下,不允许客户端连接具有备用复制状态的消息 VPN。

此外,要允许客户端从具有备用复制状态的消息 VPN 中的端点消费消息,您还必须为客户端将消费消息的所有端点禁用确认传播(ack-propagation)。对于队列,请参阅启用/禁用向复制 VPN 传播消费者确认;对于主题端点,请参阅启用/禁用向复制 VPN 传播消费者确认。

  • 当消息 VPN 的复制状态从活动变为备用时,如果客户端使用允许连接到具有备用复制状态的消息 VPN 的客户端配置文件,则客户端不会断开连接。但是,如果端点所在的复制状态变为复制备用,客户端将从任何启用了确认传播功能的端点解绑。此外,当客户端所在的复制状态变为复制备用时,如果确认传播已启用,客户端将从任何端点解绑。
  • 连接到具有备用复制状态的消息 VPN 的客户端,如果它们使用的客户端配置文件的 allow‑clients-when-standby 选项被禁用,将被断开连接。

配置客户端事件生成

要配置导致为给定客户端配置文件生成客户端相关事件的条件,请输入以下命令:

solace(configure/client-profile)# event

CLI 移动到一个级别,您可以在此配置为使用给定客户端配置文件的客户端生成客户端相关事件的设置和清除阈值。有关如何设置生成事件的高和低阈值的信息,请参阅配置事件和阈值。

配置每个用户名的最大连接数

对于给定的客户端配置文件,您可以配置使用相同客户端用户名同时连接到事件代理的最大允许数量。此限制适用于使用任何支持的服务类型的客户端连接。也就是说,此限制适用于所有客户端连接,无论它们是否使用 Solace 消息格式(SMF)、Web 传输、REST、MQTT 和/或 AMQP 服务。

要为给定的客户端配置文件配置使用相同客户端用户名账户可以同时建立的最大客户端连接数,请输入以下命令:

solace(configure/client-profile)# max-connections-per-client-username <value>

其中:

<value> 是一个整数值,指定允许的最大同时客户端连接数。请注意,此值不强制执行,因此您可以设置一个超过所用事件代理支持的最大同时连接数的值。要查看事件代理支持的限制,请输入 show service 命令。

此命令的 no 版本,no max-connections-per-client-username,将最大客户端连接数重置回默认值。

您还可以根据客户端是 SMF 还是 Web 客户端,具体限制使用相同客户端用户名账户同时连接到事件代理的客户端连接数。有关详细信息,请分别参阅配置最大 SMF 连接数和配置每个用户名的最大 Web 传输连接数。

配置允许的最大订阅数

在客户端配置文件中为单个客户端指定最大订阅数时,您应考虑所用事件代理类型允许的总最大主题订阅数和总最大客户端连接数。也就是说,为确保系统性能可靠,您必须在允许创建许多客户端和允许每个客户端添加大量主题订阅之间找到适合您网络的正确平衡,同时保持上述系统限制。

要为给定客户端配置文件配置单个客户端允许的最大订阅数,请输入以下命令:

solace(configure/client-profile)# max-subscriptions <value>

其中:

<value> 是一个整数值,指定最大订阅数。有效范围和默认值取决于所用的 Solace PubSub+ 事件代理类型。

此命令的 no 版本,no max-subscriptions,将最大订阅数重置回默认值。

配置保证消息传递参数

Solace 事件代理提供一种保证消息传递功能,即使在接收应用程序离线或网络设备出现故障的情况下,也能保证两个应用程序之间消息的传递。

  • 在 Solace PuSub+ 设备上,默认情况下,客户端不支持保证消息传递——它必须在应用于客户端用户名的客户端配置文件中进行配置。
  • 在 Solace PubSub+ 软件事件代理上,默认情况下,客户端启用保证消息传递。

允许客户端创建保证端点

要允许分配给客户端配置文件的客户端创建队列或主题端点,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# allow-guaranteed-endpoint-create

此命令的 no 版本,no allow-guaranteed-endpoint-create,从客户端配置文件中移除创建队列或主题端点的权限。在事件代理运行期间更改此权限不会影响现有会话。仅在会话建立时进行验证。

在 Solace PubSub+ 设备上,默认情况下,客户端配置文件不允许客户端动态创建端点。在 Solace PubSub+ 软件事件代理上,默认设置是在默认消息 VPN 的默认客户端配置文件上允许客户端动态创建端点。

指定创建端点允许的持久性

默认情况下,如果客户端配置文件允许客户端创建端点,它们可以创建持久和非持久端点。有关端点持久性的更多信息,请参阅端点持久性。

要指定分配给客户端配置文件的客户端可以创建的端点的持久性,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# allow-guaranteed-endpoint-create-durability {all \| durable \| non-durable}

其中:

all 指定与本客户端配置文件关联的客户端可以创建任何类型的端点。这是默认值。

durable 指定与本客户端配置文件关联的客户端只能创建持久端点。

non-durable 指定与本客户端配置文件关联的客户端只能创建非持久端点。

此命令的 no 版本 no allow-guaranteed-endpoint-create-durability,将此设置重置回默认值。

在事件代理运行期间更改此权限不会影响现有会话。仅在会话建立时进行验证。

允许客户端接收保证消息

要允许分配给客户端配置文件的客户端绑定到主题端点或队列,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# allow-guaranteed-message-receive

此命令的 no 版本,no allow-guaranteed-message-receive,从客户端配置文件中移除接收保证消息的权限。在事件代理运行期间更改此权限不会影响现有会话。仅在会话建立时进行验证。

在 Solace PubSub+ 设备上,默认情况下,客户端配置文件不允许客户端绑定到主题端点或队列并从这些端点消费保证消息。在 Solace PubSub+ 软件事件代理上,默认设置是在默认消息 VPN 的默认客户端配置文件上允许客户端绑定到主题端点或队列并从这些端点消费保证消息。

允许客户端发送保证消息

默认情况下,客户端配置文件不允许客户端发布非持久或持久消息(即,保证消息)。

要允许分配给客户端配置文件的客户端发送非持久或持久消息,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# allow-guaranteed-message-send

此命令的 no 版本,no allow-guaranteed-message-send,从客户端配置文件中移除发送保证消息的权限。在事件代理运行期间更改此权限不会影响现有会话。仅在会话建立时进行验证。

  • 在 PubSub+ 设备上,默认情况下,客户端配置文件不允许发布保证消息。
  • 在 PubSub+ 软件事件代理上,默认设置是在默认消息 VPN 的默认客户端配置文件上允许客户端发布保证消息。

对于配置文件允许保证消息发送的客户端,客户端连接计入入口流阈值,因此可能会导致生成诸如 SYSTEM_AD_MAX_INGRESS_FLOWS_EXCEEDED 之类的事件。

对于直接消息客户端,我们建议创建一个单独的客户端配置文件,并禁用 allow-guaranteed-message-send

允许事务会话

Solace JMS、JCSMP、Java RTO、C 和 .NET API 消息 API 支持事务会话(即,本地事务会话和/或 XA 会话)。XA 会话仅由 Solace JMS 消息 API 支持。

要允许分配给客户端配置文件的客户端使用事务会话,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# allow-transacted-sessions

此命令的 no 版本,no allow-transacted-sessions,从客户端配置文件中移除使用事务会话的权限。

  • 在运行期间更改此值不会影响当前正在进行的事务会话。
  • 在 Solace PubSub+ 设备上,默认情况下,客户端配置文件不允许客户端使用事务会话。在 Solace PubSub+ 软件事件代理上,默认设置是在默认消息 VPN 的默认客户端配置文件上允许客户端使用事务会话。

配置客户端创建端点的初始值

当使用 Solace 消息 API 的客户端在事件代理上动态创建端点时,其配置首先由客户端可能使用队列或主题端点创建 API 函数或方法提供的那些端点属性和配置标志确定(参阅 Solace 企业消息 API 接收保证消息)。然后,由管理员可以通过 Solace CLI 提供的队列或主题端点的任何剩余端点参数配置由这些值填充。

端点模板可以用来根据端点名称为客户端创建的端点指定自定义属性。与端点模板相关联的任何可配置值将应用于客户端创建的端点。管理员可以通过两种机制选择哪些客户端创建的队列使用特定的端点模板:

  • 端点模板具有 name-filter,允许它将端点名称匹配到端点模板。这允许客户端创建的队列或主题端点能够动态地从指定的端点模板复制属性。有关更多信息,请参阅设置队列名称匹配的名称过滤器或设置主题端点名称匹配的名称过滤器。
  • 客户端配置文件具有可选的 copy-from-template-on-create 命令,可以用来从端点模板复制自定义值到客户端创建的端点。但是,如果没有明确设置要复制的自定义端点模板,系统将使用 CLI 配置端点的默认值。有关设置客户端创建端点的初始值,请参阅配置客户端创建队列的初始值或配置客户端创建主题端点的初始值。

对于 9.4.0 版本之前的事件代理,使用 copy-from-on-create 命令来指定具有自定义值的 CLI 配置队列或主题端点,这些值将应用于任何新的客户端创建的端点。

只有当客户端使用允许 allow-guaranteed-endpoint-create 参数的客户端配置文件时,客户端应用程序才能在事件代理上动态创建持久和非持久/临时队列或主题端点(参阅允许客户端创建保证端点)。

配置客户端创建队列的初始值

要设置所有新的客户端创建队列将从中复制其配置参数值的 CLI 配置队列模板,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# api-queue-management

solace(...le/message-spool/api-queue-management)# copy-from-template-on-create <queue-template-name>

其中:

<queue-template-name> 是在给定消息 VPN 上配置的队列模板的名称,其参数值将用于任何新的客户端创建队列。

此命令的 no 版本,no copy-from-template-on-create,重置默认设置,即任何新的客户端创建队列将使用默认事件代理队列参数值。

配置客户端创建主题端点的初始值

要设置所有新的客户端创建主题端点将从中复制其配置参数值的 CLI 配置主题端点模板,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# api-topic-endpoint-management

solace(...e-spool/api-topic-endpoint-management)# copy-from-template-on-create <topic-endpoint-template-name>

其中:

<topic-endpoint-template-name> 是在给定消息 VPN 上配置的主题端点模板的名称,其参数值将用于任何新的客户端创建主题端点。

此命令的 no 版本,no copy-from-template-on-create,重置默认设置,即任何新的客户端创建主题端点将使用默认事件代理主题端点参数值。

配置允许的最大出口流数

要配置与本客户端配置文件关联的单个客户端可以创建的最大出口流数(即,保证消息客户端接收流或消费者流),请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# max-egress-flows <value>

其中:

<value> 指定与客户端配置文件关联的客户端可以创建的最大出口流数。有效范围和默认值取决于所用的 Solace PubSub+ 事件代理类型。

此命令的 no 版本,no max-egress-flows,将客户端的最大出口流数重置回默认值。

配置每个客户端用户名允许的最大端点数

在客户端配置文件中,使用相同客户端用户名的客户端可以拥有的持久和非持久队列以及主题端点有一个最大数量。当具有该用户名的客户端通过 API 调用动态创建端点时,客户端用户名成为端点的所有者。您还可以通过 Solace CLI 为持久端点分配所有者(参阅配置队列所有者或配置主题端点所有者)。

要配置与客户端配置文件关联的相同客户端用户名可以拥有的持久和非持久队列以及主题端点的最大数量,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# max-endpoints-per-client-username <value>

其中:

<value> 指定与给定客户端配置文件关联的客户端用户名可以拥有的队列和主题端点的最大数量。有效范围和默认值取决于所用的 Solace PubSub+ 事件代理类型。

此命令的 no 版本,no max-endpoints-per-client-username,将每个客户端用户名的最大端点数重置回默认值。

配置允许的最大入口流数

要配置与本客户端配置文件关联的单个客户端可以创建的最大入口流数(即,保证消息客户端发布流),请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# max-ingress-flows <value>

其中:

<value> 指定与客户端配置文件关联的客户端可以创建的最大入口流数。有效范围和默认值取决于所用的 Solace PubSub+ 事件代理类型。

此命令的 no 版本,no max-ingress-flows,将客户端的最大入口流数重置回默认值。

配置最大事务数

要配置与本客户端配置文件关联的单个客户端允许的同时事务总数(包括本地事务和 XA 事务分支内的事务),请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# max-transactions <value>

其中:

<value> 是一个整数值,指定每个与给定客户端配置文件关联的客户端允许的最大事务数。有效范围和默认值取决于所用的 Solace PubSub+ 事件代理类型。

此命令的 no 版本,no max-transactions,将每个客户端的最大同时事务总数重置回默认值。

配置每个事务的最大消息数

默认情况下,客户端可以在单个事务中发布和/或消费最多 256 条保证消息的组合最大值。超过此限制将导致事务准备或提交失败。要配置客户端在事务中可以使用的消息数,请输入以下命令:

更改每个事务的最大消息数是一个受控可用性(CA)功能,应在 Solace 支持的监督下使用。

目前,此配置选项在 PubSub+ Cloud 中不可用。

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# max-messages-per-transaction <value>

其中:

<value> 是一个整数值,指定每个与给定客户端配置文件关联的客户端每个事务允许的最大消息数。有效范围是 1 到 20000。默认值是 256。在运行期间更改此值不会影响现有会话。仅在事务创建时进行验证。

此命令的 no 版本,no max-messages-per-transaction,将客户端配置文件允许的每个客户端的每个事务的最大消息数重置回默认值(256)。

大型事务会消耗额外资源,并且更有可能需要从 ADB 或磁盘检索消息以处理事务准备或提交请求。如果必须以这种方式检索大量消息,事务处理速率可能会降低。避免不必要地使用过大的事务,以避免超出资源限制并降低整体代理性能。

使用大型事务会使 PubSub+ 代理更容易受到事务资源耗尽的影响。您可以使用以下 Syslog 事件来监控用于跟踪未完成事务部分消息的资源是否处于健康水平:

  • SYSTEM_AD_TRANSACTION_SESSION_RESOURCE_UTILIZATION_EXCEEDED

  • SYSTEM_AD_TRANSACTION_SESSION_RESOURCE_UTILIZATION_HIGH

  • SYSTEM_AD_TRANSACTION_SESSION_RESOURCE_UTILIZATION_HIGH_CLEAR

有关这些事件的更多信息,请参阅 Solace PubSub+ Syslog 事件。

要查看此类资源的可用百分比,请参阅 show message-spool 命令输出中的 Transaction Session Resource Utilization 字段。有关 show message-spool 输出字段的更多信息,请参阅查看保证消息传递信息。

配置最大事务会话数

要配置与本客户端配置文件关联的单个客户端允许的同时事务会话数和/或 XA 会话数,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# max-transacted-sessions <value>

其中:

<value> 是一个整数值,指定每个客户端允许的最大事务会话数。有效范围和默认值取决于所用的 Solace PubSub+ 事件代理类型。

此命令的 no 版本,no max-transacted-sessions,将客户端配置文件允许的每个客户端的最大事务会话数重置回默认值。

处理无匹配的保证消息

当发布保证消息时,如果事件代理上没有与消息主题匹配的保证订阅,事件代理可以:

  • 向发布者返回否定确认(即,“Nacks”),以指示没有与消息匹配的保证订阅。发布到未知队列名称的消息始终被 Nacked。
  • 静默丢弃消息(即,不向发布者返回 Nacks)。这是默认操作。

要配置对没有保证消息订阅匹配的发布保证消息返回 Nacks,请输入以下命令:

solace(configure/client-profile)# message-spool

solace(configure/client-profile/message-spool)# reject-msg-to-sender-on-no-subscription-match

即使向发布者返回了 NACK,它仍将被传递给对主题有直接订阅的任何客户端。

要恢复默认操作,即在没有保证订阅匹配时静默丢弃发布的保证消息,请输入命令的 no 版本:

solace(configure/client-profile/message-spool)# no reject-msg-to-sender-on-no-subscription-match

配置出口优先级队列

有关 queue 客户端配置文件 CONFIG 命令的详细信息以及如何配置和监控每个客户端的出口优先级队列的一般信息,请参阅消息传递资源。

配置服务

要设置给定消息 VPN 的配置参数,以便为使用给定客户端配置文件的客户端提供服务类型,请输入以下命令:

solace(configure/client-profile)# service

现在 CLI 处于一个级别,您可以在此为给定客户端配置文件配置以下服务类型的服务设置:

  • 配置最小心跳超时时间
  • 配置最大 SMF 连接数
  • 为 SMF 连接启用最小心跳超时
  • 配置 Web 传输服务

配置适当的服务后,您可以输入 show service 用户 EXEC 命令来查看 Solace 事件代理可以支持的最大客户端连接数。

配置最小心跳超时时间

Solace PubSub+ 支持 SMF 和 MQTT 客户端的心跳。这种类型的客户端在登录时声明一个心跳间隔,定义了连接到代理的允许不活动期的上限。代理使用此间隔来得出一个超时值(以秒为单位),定义了在代理断开连接之前客户端连接上允许的最长不活动期。

心跳超时值是根据客户端提供的超时间隔计算的(对于 SMF 为 3 倍心跳间隔,对于 MQTT 为 1.5 倍心跳间隔)。对于给定的客户端配置文件,您可以选择施加一个以秒为单位的最小超时值。客户端的有效超时值然后成为客户端得出的超时值和您配置的值之间的较大值。

在登录时明确禁用心跳的客户端不受此最小值的限制,并且永远不会因为不活动而被代理断开连接。

要配置最小心跳值,请输入以下命令:

solace(configure/client-profile/service)# min-keepalive-timeout <seconds>

其中:

<seconds> 是 PubSub+ 代理将容忍客户端连接上不活动的时间的最小周期(以秒为单位)。有效范围是 3 到 3600。默认值是 30。

我们建议您将最小心跳超时设置为至少 10 秒。这是为了防止应用程序因为代理无法控制的事件(例如,短暂的网络连接丢失,或由于服务器上应用程序的负载导致 Solace API 没有足够的 CPU 时间(例如,在 JVM 中进行垃圾回收时))而从代理断开连接。

配置最大SMF连接数

Solace PubSub+ 使用 Solace 消息格式(SMF)作为其底层消息传输协议。

对于给定的客户端配置文件,您可以配置使用相同客户端用户名账户可以同时建立的 SMF 客户端连接到事件代理的最大允许数量。

要配置最大同时 SMF 客户端连接数,请输入以下命令:

solace(configure/client-profile/service)# smf

solace(configure/client-profile/service/smf)# max-connections-per-client-username <value>

其中:

<value> 是允许的最大同时 SMF 客户端连接数。要查看 Solace PubSub+ 事件代理可以支持的最大总 SMF 客户端连接数,请输入 show service 用户 EXEC 命令。有效范围取决于所用的 Solace PubSub+ 事件代理类型。

命令的 no 版本,no max-connections-per-client-username,将 max-connections-per-client-username 值重置回默认值,即事件代理可以支持的最大总 SMF 客户端连接数。

为SMF连接启用最小心跳超时

要强制 SMF 客户端的最小心跳超时,请输入以下命令:

solace(configure/client-profile/service/smf)# min-keepalive-enabled

此命令的 no 版本,no min-keepalive-enabled,防止代理对 SMF 连接强制执行最小心跳超时。

配置Web传输服务

要配置给定客户端配置文件的特定 Web 传输服务设置,请输入以下命令:

solace(configure/client-profile)# service  web-transport

现在 CLI 处于一个配置模式,允许您指定以下 Web 传输服务参数:

  • 配置不活动超时
  • 配置每个用户名的最大 Web 传输连接数
  • 配置最大 Web 负载

配置不活动超时

要配置 Web 客户端在会话因不活动而超时(即,被终止)之前发送请求的秒数,请输入以下命令:

solace(.../client-profile/web-transport)# inactive-timeout <seconds>

其中:

<seconds> 是 Web 客户端发送请求或其会话因不活动而超时的秒数。有效范围是 1 到 4294967295。默认值是 30。

此命令的 no 版本,no inactive-timeout,将时长重置回默认值。

配置每个用户名的最大 Web 传输连接数

要配置给定客户端配置文件使用相同客户端用户名账户可以同时建立的 Web 传输客户端连接到事件代理的最大允许数量,请输入以下命令:

solace(.../client-profile/web-transport)# max-connections-per-client-username <value>

其中:

<value> 是允许的最大同时 Web 传输客户端连接数。有效范围取决于所用的 Solace PubSub+ 事件代理类型。要查看事件代理可以支持的最大总 Web 客户端连接数,请输入 show service 用户 EXEC 命令。

命令的 no 版本,no max-connections-per-client-username,将每个客户端用户名的最大连接数重置回默认值,即事件代理可以支持的最大总 Web 客户端连接数。

配置最大 Web 负载

发送到消费 Web 客户端的 SMF 消息包含在事件代理发送给该客户端的 HTTP 响应中的 Web 传输消息内。每个发送的 Web 传输消息可以包含多个 SMF 消息或部分 SMF 消息。

最大 Web 负载值设置单个 Web 传输消息(不包括标头)中允许的最大字节数。此值决定了可以在单个 HTTP 响应中发送的 SMF 消息数量以及在 HTTP 响应中发送的 Web 传输消息的大小。

大型 SMF 消息可以分段跨 Web 传输消息,以尊重最大可能 Web 负载的设置值。

要配置单个 Web 传输消息中允许的最大字节数,请输入以下命令:

solace(.../client-profile/web-transport)# max-web-payload <bytes>

其中:

<bytes> 是每个 Web 传输消息负载中允许的最大字节数。有效范围是 300 到 10000000。默认值是 1000000。

此命令的 no 版本,no max-web-payload,将最大值重置回默认值。

配置客户端TCP设置

要配置给定客户端配置文件的 TCP 设置,请输入以下命令:

solace(configure/client-profile)# tcp

现在 CLI 处于一个级别,您可以在此配置以下客户端到事件代理的 TCP 设置:

  • TCP 初始拥塞窗口大小
  • TCP 心跳
  • TCP 最大报文段大小
  • TCP 最大窗口大小

有关如何设置这些客户端到事件代理的 TCP 设置的详细信息,请参阅 TCP 设置。

配置消息省略

省略允许您为客户端应用程序定义每个主题的自定义速率,以便它们可以有效地消费相关消息,而不是排队过时的消息。例如,当配置省略时,客户端可以以每个主题最多每秒 5 条的速度接收其主题订阅的直接消息,即使源以更高的速率发布更新。

不支持在使用 Network Acceleration Blade-0401EM(NAB-0401EM)的 Solace PubSub+ 设备上使用消息省略。此 NAB 型号不支持消息省略。

要配置给定客户端配置文件使用消息省略,请输入以下命令:

solace(configure/client-profile)# eliding

现在 CLI 处于一个级别,您可以在此配置消息省略参数并启动或停止客户端配置文件的消息省略:

  • 配置消息延迟间隔
  • 配置最大省略主题数
  • 启动/停止消息省略

配置消息延迟间隔

要配置在初始消息传递后延迟向客户端传递消息的时间,请输入以下命令:

solace(configure/client-profile/eliding)# delay <milliseconds>

其中:

<milliseconds> 是延迟时间间隔,以毫秒为单位。此延迟间隔控制按主题基础向客户端发送消息更新的速率。有效范围是 0 到 60000。默认值是 0(无延迟)。

此命令的 no 版本,no delay,将延迟重置回默认值。

配置最大省略主题数

要配置事件代理可以跟踪的每个客户端连接上执行省略功能的主题的最大数量,请输入以下命令:

solace(configure/client-profile/eliding)# max-topics <num>

其中:

<num> 是可以跟踪省略的最大主题数。一旦达到此最大数量,事件代理将清除客户端的省略主题,以防止消耗比为连接分配的省略资源更多的资源,并且会生成一个基于每个客户端的一次性 Syslog 事件。然后再次跟踪收到的任何后续消息的主题。有效范围是 1 到 32000。默认值是 256。

此命令的 no 版本,no max-topics,将最大主题数重置回默认值。

在达到最大省略主题数之前跟踪的任何主题上收到的消息被视为发布到新主题的消息。这个“新”主题再次被跟踪,并且立即发送该主题的消息。结果是,对于省略主题,可能会发送两条消息:一条消息在达到省略最大值之前发送,另一条消息在达到省略最大值并且开始新的省略主题跟踪周期后发送。

启动/停止消息省略

默认情况下,客户端配置文件上的消息省略是禁用的。

  • 要启动使用给定客户端配置文件的客户端的消息省略,请输入以下命令:
solace(configure/client-profile/eliding)# no shutdown
  • 要停止使用给定客户端配置文件的客户端的消息省略,请输入以下命令:
solace(configure/client-profile/eliding)# shutdown

配置降级到纯文本

要允许支持该选项的客户端将其连接降级到纯文本,请输入以下命令:

solace(configure/client-profile)# ssl

solace(configure/client-profile/ssl)# allow-downgrade-to-plain-text

此命令允许降级到 {plaintext, compressed}{plain-text, uncompressed}

默认情况下,允许客户端将其连接降级到纯文本。

此命令的 no 版本,no allow-downgrade-to-plain-text,防止客户端将其连接降级到纯文本。

禁用压缩

默认情况下,允许客户端使用压缩传输数据。要禁用此功能,请输入以下命令:

solace(configure/client-profile)# compression

solace(configure/client-profile/compression)# shutdown

禁用压缩意味着:

  • 不允许纯文本压缩 SMF 连接。
  • 不进行 {secure, compressed} 的 SSL 客户端协商。
  • 不进行 {plain-text, compressed} 的 SSL 客户端协商。
  • 不使用压缩流量进行桥接。

此命令的 no 版本,no shutdown,恢复使用压缩的数据传输。

配置客户端用户名账户示例

此示例演示如何:

  • 在单独的消息 VPN(bluered)中创建客户端用户名账户(pascal
  • 在两个消息 VPN 中创建客户端配置文件(Sales_Access
  • 将这些客户端配置文件分配给客户端用户名账户
  • 激活客户端用户名账户以提供服务
  1. 创建消息 VPN blue

    solace> enable

    solace# configure

    solace(configure)# create message-vpn blue

    solace(configure/message-vpn)# exit
  2. 创建消息 VPN red

    solace(configure)# create message-vpn red

    solace(configure/message-vpn)# exit
  3. 在消息 VPN blue 中创建客户端用户名账户 pascal

    solace(configure)# create client-username pascal message-vpn blue

    solace(configure/client-username)# exit
  4. 在消息 VPN red 中创建客户端用户名账户 pascal

    solace(configure)# create client-username pascal message-vpn red

    solace(configure/client-username)# exit
  5. 输入以下 show 命令以确认客户端用户名账户 pascal 的创建:

    solace(configure)#  show client-username pascal message-vpn *
  6. 在消息 VPN blue 中创建客户端配置文件 Sales_Access

    solace(configure)# create client-profile Sales_Access message-vpn blue

    solace(configure/client-profile)# exit
  7. 在消息 VPN red 中创建客户端配置文件 Sales_Access

    solace(configure)# create client-profile Sales_Access message-vpn red

    solace(configure/client-profile)# exit
  8. 输入以下 show 命令以确认客户端配置文件 Sales_Access 的创建和配置。

    solace(configure)# show client-profile Sales_Access detail
  9. 将客户端配置文件 Sales_Access 分配给消息 VPN blue 中的客户端用户名账户 pascal

    solace(configure)# client-username pascal message-vpn blue

    solace(configure/client-username)# client-profile Sales_Access

    solace(configure/client-username)# exit
  10. 将客户端配置文件 Sales_Access 分配给消息 VPN red 中的客户端用户名账户 pascal

    solace(configure)# client-username pascal message-vpn red

    solace(configure/client-username)# client-profile Sales_Access

    solace(configure/client-username)# exit
  11. 输入以下 show 命令以确认客户端用户名账户已分配给客户端配置文件 Sales_Access

    solace(configure)# show client-username pascal detail
  12. 激活消息 VPN blue 中的客户端用户名账户 pascal 以提供服务:

    solace(configure)# client-username pascal message-vpn blue

    solace(configure/client-username)# no shutdown

    solace(configure/client-username)# exit
  13. 激活消息 VPN red 中的客户端用户名账户 pascal 以提供服务:

    solace(configure)# client-username pascal message-vpn red

    solace(configure/client-username)# no shutdown

    solace(configure/client-username)# exit
  14. 输入以下 show 命令以确认客户端用户名账户的激活:

    solace(configure)# show client-username pascal message-vpn *

    Username                        Message VPN                 Enabled # Clients

    \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-  --------

    pascal                          blue                            Yes         0

    pascal                          red                             Yes         0
  15. 要激活消息 VPN bluereddefault 以提供服务,请转到 CLI 步骤以使用客户端配置文件设置 VPN。