應用程式是由多個元件組成。程式維護時最怕程式為高耦合性,這種類型的架構就是巨型應用程式,講難聽的就是疊床架屋。改一個元件就傷筋動骨,若單一元件失敗,其他元件也會失敗,因此可能整個應用程式都會失敗。
在微型服務方法中,應用程式元件為耦合低且較鬆散。若單一元件失敗,其他元件仍會繼續運作,彼此仍能通訊,可防止整個應用程式失敗。
在 AWS 上設計應用程式時,您可以採用微型服務方法,讓不同服務和元件去完成不同功能。有兩種服務可促成應用程式的整合:Amazon Simple Notification Service (Amazon SNS) 和 Amazon Simple Queue Service (Amazon SQS)。
- Amazon Simple Notification Service (Amazon SNS)
Amazon SNS 是一種發布/訂閱服務。如使用 Amazon SNS 主題,發布者可將訊息發布給訂閱者。在 Amazon SNS 中,訂閱者可能是 Web 伺服器、電子郵件地址、AWS Lambda 函數或其他幾種選項。
- Amazon Simple Queue Service (Amazon SQS)
Amazon Simple Queue Service (Amazon SQS) 是一種訊息佇列服務。 您可以使用 Amazon SQS 在軟體元件之間傳送、存放和接收訊息,不會遺失訊息,也不需要用到其他服務。在 Amazon SQS 中,應用程式會將訊息傳送到佇列中。使用者或服務會從佇列擷取訊息,加以處理後,從佇列中刪除訊息。
沒有留言:
張貼留言
歡迎各方朋友針對本文議題討論~