最大程度地降低跨 Azure 区域发送事件中心/流分析数据的数据传输成本



我在美国东部运行一项收集请求数据的服务。我需要将这些数据返回到我们在北欧运行的中央数据库。目前,在美国东部运行的 Web 应用正在将信息发送到北欧的事件中心作业,流分析作业将处理该作业并将其输出到数据库。

我想最大限度地降低数据传输成本,这在规模上会带来问题。我正在寻找执行此操作的方法,例如:

  • 最小化有效负载大小
  • 使用 GZIP 压缩有效负载或放气
  • 批量发送数据以从压缩中获得更多好处

但是,将事件中心作业移动到美国东部是否有好处?流向事件中心的带宽是否等于从事件中心作业到流分析作业的带宽? 流分析是否以更高效的方式拉取数据,也许是通过每 x 毫孔拉取压缩批处理?

如果这意味着减少数据传输的大小,我可以接受几秒钟的额外延迟。

我认为这取决于您是否在 ASA 作业中应用聚合。ASA 的常见用法是减少数据量。例如,SQL Server 将无法处理与事件中心相同级别的吞吐量,因此在写入 SQL Server 之前,人们通常会计算窗口聚合。如果应用相同的模式,则在美国东部运行 ASA 作业并将输出量减少写入北欧是有意义的。

如果不执行数据缩减,则无论在美国东部还是北欧运行 ASA 作业,数据传输量都将相似。ASA 使用事件中心的基于 AMQP 协议的客户端通过 TCP 连接检索事件。不过,它不执行压缩。您可以以发件人大小对有效负载执行 gzip 压缩。ASA 可以选择解压缩有效负载以进行处理。

最新更新