我正在尝试设计一个分布式应用程序,该应用程序将部署在AWS的不同区域。这个想法是,用户越靠近部署区域,等待时间就越短。

我的问题是,当目标接收者位于区域B时,是否有任何纸张,设计模式或算法可以可靠地将区域A发出的请求转发到区域B。这意味着区域A中的用户只会触发请求,但是实际的交易将是从区域B中的用户到那里部署的应用程序。

因此,有效负载将被路由,其余的处理将在接收者的一端进行。

希望我有道理,但如果可以帮助我想到一个例子,那就是录音。与其将流从区域A引导到B,不如将其首先复制到区域B,然后从那里流向用户。

最佳答案

  • 如果您要使用geo-dns(我认为AWS支持),则发生这种情况的可能性非常低。
  • 为什么不只使用http重定向?如果不是,则使用一个简单的http代理。 Go的http库可以很轻松地做到这一点。
  • 如果您负担得起的话,我将在整个数据区域中对称地复制数据,这样,如果一个数据中心发生故障,您可以通过geo-dns将您的用户路由到其他任何用户,而不会造成服务中断或数据丢失。

  • 您可以将Cassnandra与多种数据中心复制策略一起使用,并使每个AWS边缘上的写入自动复制到其他边缘。这可能会导致它们之间的流量过大,但是会起作用。

    10-07 14:56