NATS可以将客户端重定向到另一台NATS服务器吗?

时间:2019-05-19 20:03:12

标签: nats.io

在本地群集中使用NATS时,我假设总是有一个首选服务器供客户端连接。

例如,将发布者连接到给定主题的服务器A。让我们假设一个客户端连接进行订阅,我认为在大多数情况下,如果它也连接到服务器A以防止多余的跃点,那将是有利的。

publisher -> server A   [<-best]
                |
             server B

在更复杂的情况下,可能会有服务器A,B和C。如果发布者已订阅服务器A,并且另一个订户已连接到服务器B,则最好将来订阅同一主题的订户服务器B也可以。(不考虑服务器A。)

publisher -> server A
                |
             server B <- existing subscriber   [<-best (ignoring A)]
                |
             server C

我收到大量邮件,并希望根据主题将客户端重定向到可能的最佳服务器(和群集)来优化网络负载。

  • 在当前代码中有没有办法做到这一点?查看客户端协议https://nats.io/documentation/internals/nats-protocol/似乎没有。

  • NATS是否可以在内部确定哪个服务器(和群集)是首选服务器?我可以以某种方式利用这些信息来构建外部负载均衡器吗?

  • 还有另一种方法可以达到相同目的吗?假设客户端发布了大量的1 MB消息。即使NATS可以很好地处理它,网络也会很快被阻塞,并使所有内容爬行,因为当客户端连接到任何服务器时,都会发生许多不必要的数据转移。如果所有客户端都连接到可能的最佳服务器,则负载会低得多。

0 个答案:

没有答案