跳到主要内容

订阅容量

PubSub+ 事件代理提供三个级别的订阅容量:50k、500k和5M。这个数字代表单个事件代理能够跟踪的独特订阅数量,包括所有本地订阅(客户端、队列和主题终端点)以及通过多节点路由(MNR)或动态消息路由(DMR)功能从事件网格中的其他事件代理学到的所有远程订阅。独特的订阅是指具有相同主题字符串、属于同一消息VPN,并且在MNR或DMR的情况下,被添加到同一事件代理实例的订阅。例如,如果两个客户端连接到同一事件代理上的同一消息VPN,并且都添加了订阅a/b/c,这个订阅在订阅限制中只计算为一个独特订阅。

选择您的订阅容量取决于您的PubSub+事件代理的部署方式:

  • 对于PubSub+软件事件代理,订阅容量取决于配置的缩放参数。更多信息,请参见最大订阅数量。

  • 对于PubSub+设备,所有设备型号的订阅容量为5M。

  • 对于PubSub+云,订阅容量取决于服务等级和相应的服务限制。更多信息,请参见事件代理服务的服务等级选项。

监控订阅使用情况锚

Solace建议您监控事件代理的独特订阅数量以及订阅负载因子,以确保您不超过订阅限制,并且您的事件代理有足够的资源来正确运行。

订阅负载因子考虑了订阅数量和这些订阅消耗的内部内存资源。由于内存资源消耗取决于不仅仅是订阅数量,例如订阅长度和重复量,订阅负载因子提供了比单独的订阅数量更完整的订阅容量指示。它作为SYSTEM_ROUTING_SUBSCRIPTIONS_LOAD_FACTOR_HIGH系统事件暴露,并具有可配置的阈值。有关系统事件的更多信息,请参见Solace PubSub+ Syslog事件。有关配置阈值的更多信息,请参见配置系统事件阈值。

监控独特订阅限制锚

要查看当前的独特订阅数量,请运行show smrp subscriptions summary命令:

img示例:

solace> show smrp subscriptions summary

标志图例:
T - 目标类型(C=本地客户端,Q=本地队列,R=远程路由器)
R - 本地目标的冗余类型(P=主,B=备份,S=静态,-=不适用)

总订阅数 : 450017
本地订阅数 : 450017
远程订阅数 : 0
总独特订阅数 : 450017

消息VPN Flg 目标 订阅
T R 持久 非持久 总数
---------------------- - - ------------------------ -------- -------- --------
#cluster C S #client 0 6 6
#cluster C P #cluster/vmr-134-39 0 4 4
default C S #client 0 6 6
default C P dev3-236/18961/00000001/ 0 450001 450001
R6k0pmxV1Z

监控订阅负载因子锚

要查看以百分比表示的订阅负载因子,请运行show memory命令:

示例:

solace> show memory

内存(KB):

总计 已用 空闲 缓冲区 缓存
---------- ---------- ---------- ---------- ----------
物理内存
内存 13155980 10070580 3085400 6348 1684756
交换空间 2047996 0 2047996
订阅
内存 131071 70315 60756

IPC缓冲区:

缓冲区 #缓冲区 内存(KB)
池 大小(B) 总计 已用 空闲 总计 已用 空闲
---- --------- ------- ------- ------- --------- --------- ---------
0 256 8192 1 8191 2048 1 2047
1 2048 16536 0 16536 33072 0 33072
2 10240 2048 0 2048 20480 0 20480
3 102400 450 0 450 45000 0 45000
4 1048576 10 0 10 10240 0 10240
5 10485760 1 0 1 10240 0 10240

物理内存使用率: 63.74%
订阅内存使用率: 53.65%
订阅负载因子: 75%
最大贡献者: 订阅哈希

NAB缓冲区:

槽 NAB缓冲区负载因子
-------- ----------------------
1/1 0%

事件阈值 设置值 清除值
---------------------------------- ---------------- ------------------
订阅内存(%) 80 60
订阅负载因子(%) 80 60
NAB缓冲区负载因子(%) 80 60

为消息VPN或客户端分配订阅限制锚

除了将系统级订阅限制作为缩放参数分配外,您还可以为个别消息VPN和客户端分配本地订阅限制(小于系统级订阅限制)。更多信息,请参见为消息VPN配置最大订阅数和为客户端配置文件配置最大订阅数。

事件网格考虑因素锚

如果您的事件代理是事件网格的一部分,并且以某种方式连接到其他事件代理,其他事件代理的订阅(远程订阅)会计算在您的事件代理的订阅限制内。在这种情况下,您必须注意以下考虑因素:

  • 如果您的事件网格是使用MNR构建的,事件网格中的所有事件代理都会了解到网络中每个其他事件代理导出的所有订阅,无论它们是否通过邻居链接直接或间接连接(参见多节点路由)。在这种情况下,所有事件代理的订阅限制必须相同,并且必须满足所有客户端和队列的总需求,无论它们由哪个事件代理托管。

  • 如果您的事件网格是使用DMR构建的,同一DMR集群中的所有事件代理都会了解到同一DMR集群中每个其他事件代理导出的所有订阅。此外,如果集群有到另一个集群的外部链接,所有消息VPN的订阅(对于哪个配置了每个消息VPN DMR桥的)从另一个集群中被了解(参见动态消息路由)。在这种情况下,给定DMR集群中的所有事件代理的订阅限制必须相同,并且必须满足同一DMR集群中所有事件代理的所有客户端和队列的总需求,以及通过DMR桥从相邻DMR集群暴露的所有客户端和队列。

  • 如果您的事件网格包括消息VPN桥,消息VPN桥的客户端和队列的订阅包括在您的事件代理的本地订阅数量中。