簡體   English   中英

AWS SNS與AWS步驟功能

[英]AWS SNS vs AWS Step Functions

在微服務之間協調任務的更好選擇是什么?

例如,如果我有一個處理客戶信息並需要通知其他微服務的微服務,那么在微服務之間創建工作流(AWS Steps)或使用SNS是否更好?

我認為AWS Steps將耦合我的lambda函數,而SNS不會。

AWS Step Functions是執行AWS Lambda函數的步驟機器。 如果您的任務涉及“執行此操作,那么這個”活動,那么步驟功能可能是一個不錯的選擇。 它包括確定下一步並自動處理重試的邏輯。 它是Amazon Simple Workflow(SWF)的現代版本。

Amazon Simple Notification Service(SNS)也可以觸發Lambda函數,但它不處理邏輯和重試。 它非常適合解耦服務,尤其適用於多個訂閱者從主題接收相同消息的扇出 - 例如,用於觸發多個Lambda函數或發送多個通知。 它基本上是一個公共/訂閱服務,Lambda是其中一種訂閱者類型。

選擇取決於您的特定用例。 如果您不想重新設計使用步驟功能的東西,請通過SNS發送通知。 如果您有時發送通知(例如電子郵件)而不是僅觸發Lambda函數,請使用SNS。

目前,步驟功能並非在每個地區都可用,而SNS無處不在,因此可能也會影響您的選擇。

這取決於您想要的協調類型。 同步或異步。

如果它是同步的,並且如果你真的想在它們之間進行一些協調,那么亞馬遜簡單通知服務(SNS)將無濟於事,並且AWS步驟功能將成為可能。

但是如果需求是異步的,並且您只想通知/調用微服務,那么SNS將更適合。

正如我可以從你的問題中讀到“需要通知其他微服務”我認為它只是通知它們(而不是協調它們),並且每個人都知道如何進一步做,而不依賴於其他微服務。 如果這是真的那么SNS是一個不錯的選擇。

暫無
暫無

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

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