【问题标题】:Spring custom poller using dynamic max message per poll value使用每个轮询值的动态最大消息的 Spring 自定义轮询器
【发布时间】:2018-09-25 10:22:17
【问题描述】:

我正在开发一个SMPP 平台,该平台必须能够每秒发送特定数量的短信。

这很容易通过使用 amqp 和 spring 集成来实现。

但是:

我需要在 2 个节点上将项目作为 active-active 服务运行,并且每个节点都连接到 2 个 SMSC。 对于此配置,我的允许流量为 100 msg/s,我需要将流量理想地分布在所有可用连接上。

一个简单的轮询器可以很容易地为每个节点配置为 25 msg/s (4 * 25 = 100),但是如果我的一个连接断开,我想将丢失的容量分散到实时的其他节点/连接。

为此,我想创建一个动态轮询器,以获取有关 redis 中连接状态的信息,并仅调整运行时每次轮询允许的消息量(例如,0 表示断开的连接,33% 表示其他 3 个连接,或者如果 4 上只有 2 个连接可用,则为 50%。

是否可以使用自定义 PollerMetadata 来实现此行为,还是应该寻找其他解决方案?

【问题讨论】:

  • 欢迎来到 SO。你能更详细地描述你的问题吗?例如。通过添加描述您的问题的代码、命令或屏幕截图。另请查看帮助中心,尤其是askingminimal examples。谢谢。

标签: spring spring-integration amqp high-availability poller


【解决方案1】:

民意调查非常繁重,如今可能被认为是“过时的”。

我强烈建议尝试使用:Sse(服务器发送事件)或 websocket。

许多技术也同时支持上述两种解决方案(spring...)

您可以在本文中找到更多详细信息:

https://codeburst.io/polling-vs-sse-vs-websocket-how-to-choose-the-right-one-1859e4e13bd9

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多