簡體   English   中英

發布到 SNS 主題/SQS 訂閱的延遲?

[英]Latency on publishing to SNS Topic/SQS Subscription?

我們目前正在亞馬遜的 AWS 上實現分布式 Spring Boot 微服務架構,我們使用 SNS/SQS 作為我們的消息傳遞系統:

事件由 Spring Boot 服務使用 Spring Cloud AWS 發布到 SNS FIFO 主題。 該主題將事件移交給訂閱該主題的多個 SQS 隊列,然后這些隊列依次被不同的消費者服務使用(同樣是使用 Spring Cloud AWS 的 Spring Boot)。

一切都按預期工作,但我們有時會看到我們的生產服務延遲非常高。

我們的產品尚未發布(我們目前正在測試中),這意味着我們的產品流量非常非常低,即每天只有幾條消息。

不幸的是,我們看到在長時間不活動(通常長達 6 秒,但也可能高達 60 秒)后,將消息傳遞給其訂閱者之前的延遲非常高。 之后事情會顯着加快,下一個發送到主題的消息的消息傳遞時間下降到 100 毫秒以下。

在 AWS 中打開 SNS 主題的登錄顯示,第一條消息的大部分延遲都花在了 SNS 部分,其中 SNS dwellTime時間與我們在消息傳遞中看到的延遲大致相關。 Spring Cloud AWS 看起來不錯。

這是預料之中的事情嗎? 空閑 SNS FIFO 主題是否有“冷啟動”時間(如使用 AWS lambdas 時所見)? 一旦我們增加負載並加熱話題,這種延遲會消失嗎? 或者我們錯過了什么配置?

我們正在使用相當標准的 SQS 訂閱,順便說一句,沒有訂閱限制。 Spring Boot 服務在 Fargate ECS 集群上運行。

似乎 AWS 以某種方式停用了未使用的 SNS 主題。 我們現在正在做的是,我們每十分鍾向主題發送一條“虛擬”保持活動消息,這使我們的dwellTime時間保持在相當低的水平(<500 毫秒)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM