[英]Does AWS SQS replicate messages across regions?
由於 SQS 是分布式隊列,所以它是在同一區域還是在不同區域復制消息? 查看AWS 文檔中的架構,它顯示了正在復制的消息,但它是在同一區域還是在不同區域復制?
用例:
我正在區域X
中設置隊列,但它可能會在世界另一端的區域中訪問。 因此,如果有兩個工作人員在區域X
中運行一個,一個在區域Y
中運行,是否都從同一個區域X
隊列中獲取數據,或者區域X
和區域Y
從它們附近的區域獲取數據。
就像X
從區域X
收到一條消息,並且在此信息到達區域Y
以更新隊列之前,另一個工作人員從復制的區域Y
隊列中獲取並讀取相同的消息。
PS:-我至少知道一次語義上的 SQS。 但我想知道上述用例中的語義。
SQS 是一項區域服務,在單個區域內高度可用。 沒有跨地域復制能力。 您絕對可以從不同的區域訪問隊列,只需使用正確的目標區域初始化sqs
客戶端。
作為 AWS 服務的標准做法,數據位於您創建服務的區域內。
有例外,但這些將要求您作為用戶執行允許的操作,例如復制 AMI 或啟用 S3 復制。
如果隊列在多個區域中被消費,它將始終訪問 SQS 隊列的區域端點,而不是當前區域的端點。
由於 SQS 是一種排隊服務,如果您有跨區域分布的工作人員,則該項目可能會從隊列中刪除並在單個區域中處理(盡管確切的定義是它至少交付一次)。
如果您嘗試在多個區域中使用消息,最好考慮一種基於扇出的方法,其中每個區域的工作人員將從他們自己的 SQS 隊列中使用,而不是共享一個。
有關更多信息,請查看https://aws.amazon.com/getting-started/hands-on/send-fanout-event-notifications/文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.