0

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

amqp使用spring 集成很容易实现这一点。

但:

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

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

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

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

4

1 回答 1

0

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

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

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

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

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

于 2018-09-25T10:54:10.310 回答