2

无论如何,是否可以在 SNS 主题之间路由或将过滤器应用于订阅者 - 如果没有,我的设计是否有误?

我有大约 10 个系统,它们将创建大约 15 种不同类型的消息以供消费一个大约 1000 个订阅者的池,大多数订阅者只会对一种消息类型感兴趣,其中大多数只会对大约 1/1000 的消息类型感兴趣消息。

我想做的是要么有主题间路由,要么能够在订阅者和主题之间放置一个过滤器,SNS 是错误的产品,是我的设计错误还是有一些我不知道的功能?

4

1 回答 1

1

SNS 将主题的所有消息传递到所有端点。它没有主题间路由(这将使您能够构建源主题和目标主题的网格并将它们“连接”在一起,以便每组订阅者从您希望他们看到的源组中获取消息)并且它没有过滤机制。

部分例外是移动推送,其中单个端点是可寻址但不可过滤的,这仅适用于移动设备上的应用程序。

如果这不是移动应用程序的情况,并且订阅者只会对极少数通知感兴趣,那么 SNS 可能不是正确的平台,因为您将为所有这些数千次不需要的交付支付费用。

根据消息的性质和您需要的选择性程度,您可以很容易地用任意数量的不同编程语言编写一个中间调度程序,该调度程序侦听一组源主题并将消息重新广播到一组目标主题。组合(主题 A 和 B 消息重新发送给主题 X 的所有感兴趣的订阅者......主题 B 和 C 消息通过主题 Y 传递......等等)。

如果它是一个移动应用程序,您仍然需要一个中间软件来监听源消息并根据一组规则将这些消息单独中继到适当的移动设备。

于 2013-08-21T02:00:07.377 回答