aws ec2 选择可用区_AWS Messaging Services:选择合适的服务
aws ec2 選擇可用區
1. AWS消息服務
AWS Messaging服務使云中相似和不同的軟件系統能夠異步通信和交換信息。 這些軟件系統可能不兼容且使用不同的語言,也可能在不同的平臺上。 AWS消息傳遞服務具有高度可用性,高度可擴展性和高度可靠性。 AWS支持針對不同類型用例的多種消息傳遞服務。 在本文中,我們將討論各種AWS消息服務,并根據應用程序需求選擇合適的消息服務。
消息服務允許通常不兼容且在不同平臺上以不同編程語言開發的不同軟件系統進行通信和交換信息。
2. Amazon SQS(簡單隊列服務)
Amazon SQS是一種分布式隊列Web服務,用于在軟件系統之間異步交換消息。 SQS用于開發具有解耦組件的大規模分布式系統,而無需擔心創建和管理隊列。 SQS有兩種類型,標準和先進先出。 FIFO隊列維護生成和使用的消息的順序,并提供一次精確的傳遞機制。 標準隊列嘗試保留訂單,但很靈活,并且至少提供一次交貨。 “標準隊列”中的消息可以多次傳遞,“標準隊列”提供高吞吐量。
隨著請求數量的增長,Amazon SQS會水平擴展。 SQS中的消息是使用服務器端加密進行加密的,并且在隊列中的生命周期內都是安全的。
如果您的應用程序需要更快的消息處理速度,但是不關心消息順序或消息的重復發送,則“標準隊列”是最佳選擇。 為了保證訂單的準確性以及一次交貨,請使用FIFO隊列。 當使用者接收并處理該消息時,該消息將保留在隊列中,直到將其顯式刪除或消息保留時間到期為止。 Amazon SQS設置消息的可見性超時 (默認為30秒,最長為12小時),以防止其他使用者再次處理同一條消息。
在一對一消息傳遞,發送電子郵件,表單和文件處理的情況下,SQS最有用。
SQS整合2.1 SQS限制
- 郵件大小限制為256 KB
- 默認情況下,SQS中的郵件將在4天后刪除,但是最多可以延長14天
- 在標準SQS中,消息可以多次傳遞
2.2 SQS最佳實踐
- 根據處理消息所需的時間,將消息的可見性超時延長到處理和刪除消息所需的最長時間。
- 如果您不知道從SQS處理消息需要花費多長時間,請為使用者流程創建心跳并相應地延長可見性超時。
- 長時間輪詢有助于降低Amazon SQS成本。 在實施長輪詢時,每個隊列使用一個線程,而不是所有隊列使用一個線程。 對所有隊列使用一個線程可能會導致您的應用程序無法處理其他隊列中可用的消息。
- 使用唯一消息ID可以防止使用者處理相同的消息。
3. Amazon SNS(簡單通知服務)
Amazon SNS是一個完全托管的發布/訂閱異步推送通知系統,消息生產者在其中發布消息,多個訂閱者接收消息。 發布/訂閱消息傳遞模型用于取消應用程序的耦合并提高應用程序的性能,可伸縮性和可靠性。 推送到SNS的消息將在多個可用性區域中保持不變,以防止丟失消息。 SNS向所有訂閱者發送帶有訂閱URL的消息,訂閱者需要確認訂閱才能接收該消息。
SNS允許將消息發送到多個服務,包括SQS,Lambda,HTTP,電子郵件,SMS等。AmazonSNS可以與SQS結合使用,因此發布到SNS的消息將發送給每個SQS和每個用戶SQS將收到該消息。
SNS訂戶Amazon SNS提供加密的主題,以保護您的消息免遭未經授權的匿名訪問。 將消息發布到加密主題后,將立即使用AES-GCM算法和由密鑰管理服務發布的客戶主密鑰對消息進行加密。 消息在傳遞到訂閱端點時被解密。 在刪除SNS主題之前,請確保首先刪除該主題的所有訂閱。 使用SNS,可以將消息從AWS發送到各種平臺,例如iOS,Android,Java,Node Js,Python,.NET等SDK。
SNS最適合用于事件通知,將消息發布到多個訂戶,向每個SQS隊列發送專用消息等用例。
3.1 SNS消息
推送到SNS主題的郵件將具有以下部分。
- MessageId –消息的唯一ID
- 時間戳–消息創建時間戳
- TopicArn –消息發布到的主題
- 類型–交付類型
- UnsubscribeUrl –取消訂閱該主題的鏈接
- 消息–消息有效負載
- 主題–主題字段
- 簽名–郵件的Base64編碼簽名
- 簽名版本– SNS簽名版本
3.2 SNS局限性
- 來自SNS的消息可能會多次傳遞
- 在訂戶失敗的情況下,可以將消息傳遞配置的次數。
4. Amazon MQ
Amazon MQ是Apache ActiveMQ的托管消息傳遞服務。 AWS管理ActiveMQ的配置,設置,修補和維護。 使用標準API和協議(例如JMS,NMS,AMQP,STOMP,MQTT和WebSocket),可以輕松遷移現有應用程序并將其連接到Amazon MQ。
Amazon MQ提供了消息的高可用性和持久性。 消息生產者和使用者之間的Amazon MQ延遲非常少(單位為毫秒)。 放置在Amazon MQ中的消息始終在多個可用區之間冗余存儲。 Amazon MQ支持分布式事務。 代理名稱在一個AWS賬戶中應該是唯一的,每個代理最大存儲容量為200GB。
將消息放在Amazon MQ上時,可以觸發Lambda函數。 在混合云環境中,可將本地數據中心中的ActiveMQ與云上的Amazon MQ集成在一起以交換消息。 請參閱此文檔,以將Java應用程序與Amazon MQ連接以及創建消息生產者和使用者。
Amazon MQ集成4.1 Amazon MQ的最佳實踐
- Amazon MQ使用其安全管理的加密密鑰對靜態消息和傳輸中的消息進行加密。 強烈建議同時使用客戶端加密。
- 要針對速度慢的使用者優化Amazon MQ,請將parallelStoreAndDispatchQueues屬性設置為false 。
- 使用正確的代理實例類型以提高吞吐量
- 在多生產者和多消費者應用程序的情況下,為多個生產者按需創建大量連接可能效率很低。 使用連接池而不是使用PooledConnectionFactory類。 不要在消息使用者上使用PooledConnectionFactory 。
4.2配置連接池(來自AWS
// Create a connection factory. final ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(wireLevelEndpoint);// Pass the username and password. connectionFactory.setUserName(activeMqUsername); connectionFactory.setPassword(activeMqPassword);// Create a pooled connection factory. final PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(); pooledConnectionFactory.setConnectionFactory(connectionFactory); pooledConnectionFactory.setMaxConnections(10);// Establish a connection for the producer. final Connection producerConnection = pooledConnectionFactory.createConnection(); producerConnection.start();4.3 Amazon MQ限制
- 每個AWS賬戶的每個代理實例類型的代理數量限制為20
- 限制為每個代理的安全組數為5
- 每個經紀人的存儲容量限制為200GB
5.亞馬遜Kinesis
Amazon Kinesis是一項完全托管的Web服務,用于實時處理大數據。 Kinesis有助于收集,處理和分析實時流數據,以深入了解信息。 使用Kinesis,可以在數據到達并立即響應時對其進行分析。 使用Kinesis,可以分析視頻,音頻,應用程序日志,網站點擊流和IoT遙測。 Amazon Kinesis具有高度的可擴展性,并且可以處理幾乎任何數量的流數據并處理來自成千上萬個來源的數據,而幾乎沒有延遲。 Kinesis每小時可以處理來自各種數據流的TB級數據。 Kinesis保持消息的順序。
運動整合Amazon Kinesis最適合用于諸如收集和分析溫度,濕度傳感器等傳感器數據之類的用例。它還可以可靠地吸收所有市場數據并建立實時分析。
5.1運動學限制
- 數據Blob大小限制為1 MB
- 默認情況下,消息會在24小時后從信息流中刪除,但最多可以延長7天
6.亞馬遜Pinpoint
Amazon Pinpoint是托管在Amazon Web Services上的完全托管的營銷和分析服務。 使用Amazon Pinpoint營銷團隊可以獲取見識以加強活動并確定如何與客戶群進行有效溝通。 使用Amazon Pinpoint,營銷人員可以定義活動計劃,以向應用程序最終用戶發送定向消息。
Amazon Pinpoint可以與移動和Web應用程序集成,以深入了解客戶如何與您的應用程序進行交互。 它還有助于發送有針對性的電子郵件,SMS,推送通知和語音消息,還可以跟蹤客戶如何響應您的消息,即已發送,打開或單擊的消息數。 這對于發送促銷或教育內容以吸引和留住用戶很有用。
Amazon Pinpoint有用的一些用例是:
- 匯總所有營銷活動的數據
- 提供有關您安裝了應用的設備的信息的人口統計圖
- 有關用戶參與度和廣告系列指標的分析
- 有關應用程序使用時間和客戶保留率的分析
- 收入圖表,提供有關客戶購買及其產生的收入的詳細信息
- 用戶身份驗證分析
7.亞馬遜物聯網代理
AWS IoT消息代理是一項托管的高吞吐量發布者/訂閱者代理服務,可用于向AWS IoT收發消息。 客戶端將有關主題的消息發送到AWS IoT。 該消息代理將消息發送給該主題的所有注冊客戶端。 使用AWS IoT,可以以低延遲安全地傳輸所有IoT設備之間的消息。 根據消息量,可以自動縮放消息代理。 AWS IoT支持一對一消息傳遞或百萬廣播通知系統。 AWS文檔中列出了更多AWS IoT功能。
翻譯自: https://www.javacodegeeks.com/2019/03/aws-messaging-services-choosing-right-service.html
aws ec2 選擇可用區
總結
以上是生活随笔為你收集整理的aws ec2 选择可用区_AWS Messaging Services:选择合适的服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java查找链表中间元素_如何通过Jav
- 下一篇: 电脑windows无法启动怎么办电脑wi