有时我会收到以下错误:
503: Max Client Queue and Topic Endpoint Flow Exceeded
我需要配置什么来防止此类问题?
答案 0 :(得分:1)
看起来像" Max Egress Flows"已超出客户端配置文件中的设置。一个出口流将用于应用程序绑定的每个端点。
" Max Egress Flows"设置可以位于"高级属性"选项卡,当您编辑客户端配置文件时。
答案 1 :(得分:0)
我们在负载测试期间遇到了同样的问题。只有几百条消息,我们开始收到503错误。我们发现问题出在我们的生产者主题创建中。一旦我们将缓存添加到主题目标对象,问题就解决了。
答案 2 :(得分:0)
“流”的数量大致来说是您订阅的端点的数量。有两种类型:入口(用于从您的应用程序到Solace的消息)和出口(用于从Solace到您的应用程序的消息)。您违反了其中一项限制。您可以通过查看堆栈跟踪来确定哪个。
默认情况下,流量限制为100。在增加此限制之前,请问自己:您是否真的应该订阅100个以上的队列/主题?如果没有,则可能有泄漏。正如您不会通过增加内存来解决内存泄漏一样,也不应通过增加最大流量来解决此泄漏问题。您忘记关闭订阅了吗?您正在使用临时队列吗?尽管有临时队列的名称,但除非您将其关闭,否则临时队列last for the life of the client session。
但是,如果确实要订阅这么多端点,则可以增加最大入口数和/或最大出口数。可以在SolAdmin中通过编辑“客户端配置文件”并选择“高级属性”选项卡来完成此操作,也可以在solacectl中通过在configure / client-profile / message-spool下设置max-ingress或max-egress来完成(如here所述)。 (也有max setting per message spool,但您不太可能违反。)