日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AWS Messaging Services:选择合适的服务

發(fā)布時間:2023/12/3 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AWS Messaging Services:选择合适的服务 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. AWS Messaging Services

AWS Messaging服務(wù)使云中相似和不同的軟件系統(tǒng)能夠異步通信和交換信息。 這些軟件系統(tǒng)可能不兼容且使用不同的語言,也可能在不同的平臺上。 AWS消息傳遞服務(wù)具有高度可用性,高度可擴展性和高度可靠性。 AWS支持針對不同類型用例的多種消息傳遞服務(wù)。 在本文中,我們將討論各種AWS消息服務(wù),并根據(jù)應(yīng)用程序需求選擇合適的消息服務(wù)。

消息服務(wù)允許通常不兼容且在不同平臺上以不同編程語言開發(fā)的不同軟件系統(tǒng)進行通信和交換信息。

2. Amazon SQS(簡單隊列服務(wù))

Amazon SQS是一種分布式隊列Web服務(wù),用于在軟件系統(tǒng)之間異步交換消息。 SQS用于開發(fā)具有分離組件的大規(guī)模分布式系統(tǒng),而無需擔心創(chuàng)建和管理隊列。 SQS有兩種類型,即標準和先進先出。 FIFO隊列維護生成和使用的消息的順序,并提供一次精確的傳遞機制。 標準隊列嘗試保留訂單,但很靈活,并且至少提供一次交貨。 “標準隊列”中的消息可以多次傳遞,“標準隊列”提供高吞吐量。

隨著請求數(shù)量的增長,Amazon SQS會水平擴展。 SQS中的消息是使用服務(wù)器端加密進行加密的,并且在隊列中的生命周期內(nèi)都是安全的。

如果您的應(yīng)用程序需要更快的消息處理速度,但是不關(guān)心消息順序或消息的重復(fù)發(fā)送,則“標準隊列”是最佳選擇。 為了確保有保證的訂單并且只有一次交貨,請使用FIFO隊列。 當使用者接收并處理該消息時,該消息將保留在隊列中,直到將其顯式刪除或消息保留時間到期為止。 Amazon SQS設(shè)置消息的可見性超時 (默認為30秒,最長為12小時),以防止其他使用者再次處理同一條消息。

在一對一消息傳遞,發(fā)送電子郵件,表單和文件處理的情況下,SQS最為有用。

SQS整合

2.1 SQS限制

  • 郵件大小限制為256 KB
  • 默認情況下,SQS中的郵件將在4天后刪除,但是最多可以延長14天
  • 在標準SQS中,消息可以一次傳遞

2.2 SQS最佳實踐

  • 根據(jù)處理消息所需的時間,將消息的可見性超時延長到處理和刪除消息所需的最長時間。
  • 如果您不知道從SQS處理消息需要花費多長時間,請為使用者流程創(chuàng)建心跳并相應(yīng)地延長可見性超時。
  • 長時間輪詢有助于降低Amazon SQS成本。 在實施長輪詢時,每個隊列使用一個線程,而不是所有隊列使用一個線程。 對所有隊列使用一個線程可能會導(dǎo)致您的應(yīng)用程序無法處理其他隊列中可用的消息。
  • 使用唯一消息ID可以防止使用者處理相同的消息。

3. Amazon SNS(簡單通知服務(wù))

Amazon SNS是一個完全托管的發(fā)布/訂閱異步推送通知系統(tǒng),消息生產(chǎn)者在其中發(fā)布消息,多個訂閱者接收消息。 發(fā)布/訂閱消息傳遞模型用于使應(yīng)用程序分離,并提高應(yīng)用程序的性能,可伸縮性和可靠性。 推送到SNS的消息將在多個可用性區(qū)域中保持不變,以防止丟失消息。 SNS向所有訂閱者發(fā)送帶有訂閱URL的消息,訂閱者需要確認訂閱才能接收該消息。

SNS允許將消息發(fā)送到多個服務(wù),包括SQS,Lambda,HTTP,電子郵件,SMS等。AmazonSNS可以與SQS結(jié)合使用,因此發(fā)布到SNS的消息將發(fā)送給每個SQS和每個用戶SQS將收到該消息。

SNS訂戶

Amazon SNS提供了加密的主題,以保護您的消息免遭未經(jīng)授權(quán)的匿名訪問。 將消息發(fā)布到加密主題后,將立即使用AES-GCM算法和由密鑰管理服務(wù)發(fā)布的客戶主密鑰對消息進行加密。 消息在傳遞到訂閱端點時被解密。 在刪除SNS主題之前,請確保首先刪除該主題的所有訂閱。 使用SNS,可以將消息從AWS發(fā)送到各種平臺,例如iOS,Android,Java,Node Js,Python,.NET等SDK。

SNS最適合事件通知,將消息發(fā)布到多個訂戶,向每個SQS隊列發(fā)送專用消息等用例。

3.1 SNS消息

推送到SNS主題的郵件將具有以下部分。

  • MessageId –消息的唯一ID
  • 時間戳–消息創(chuàng)建時間戳
  • TopicArn –消息發(fā)布到的主題
  • 類型–交付類型
  • UnsubscribeUrl –取消訂閱該主題的鏈接
  • 消息–消息有效負載
  • 主題–主題字段
  • 簽名–郵件的Base64編碼簽名
  • 簽名版本– SNS簽名版本

3.2 SNS局限性

  • 來自SNS的消息可能會多次傳遞
  • 在訂戶失敗的情況下,可以將消息傳遞配置的次數(shù)。

4. Amazon MQ

Amazon MQ是Apache ActiveMQ的托管消息傳遞服務(wù)。 AWS管理ActiveMQ的配置,設(shè)置,修補和維護。 可以使用標準API和協(xié)議(例如JMS,NMS,AMQP,STOMP,MQTT和WebSocket)輕松遷移現(xiàn)有應(yīng)用程序并將其連接到Amazon MQ。

Amazon MQ提供了消息的高可用性和持久性。 消息生產(chǎn)者和使用者之間的Amazon MQ延遲非常少(單位為毫秒)。 放置在Amazon MQ中的消息始終在多個可用區(qū)之間冗余存儲。 Amazon MQ支持分布式事務(wù)。 代理名稱在一個AWS賬戶中應(yīng)該是唯一的,每個代理的存儲容量限制為200GB。

將消息放在Amazon MQ上時,可以觸發(fā)Lambda函數(shù)。 在混合云環(huán)境中,可將本地數(shù)據(jù)中心中的ActiveMQ與云上的Amazon MQ集成在一起以交換消息。 請參閱此文檔,以將Java應(yīng)用程序與Amazon MQ連接以及創(chuàng)建消息生產(chǎn)者和使用者。

Amazon MQ集成

4.1 Amazon MQ的最佳實踐

  • Amazon MQ使用其安全管理的加密密鑰對靜態(tài)消息和傳輸中的消息進行加密。 強烈建議同時使用客戶端加密。
  • 要針對速度慢的使用者優(yōu)化Amazon MQ,請將parallelStoreAndDispatchQueues屬性設(shè)置為false 。
  • 使用正確的代理實例類型以提高吞吐量
  • 在多生產(chǎn)者和多消費者應(yīng)用程序的情況下,為多個生產(chǎn)者按需創(chuàng)建大量連接可能效率很低。 使用連接池而不是使用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賬戶的每種代理實例類型的代理數(shù)量限制為20
  • 限制為每個代理的安全組數(shù)為5
  • 每個經(jīng)紀人的存儲容量限制為200GB

5.亞馬遜Kinesis

Amazon Kinesis是一種完全托管的Web服務(wù),用于實時處理大數(shù)據(jù)。 Kinesis有助于收集,處理和分析實時流數(shù)據(jù),以深入了解信息。 使用Kinesis,可以在數(shù)據(jù)到達并立即響應(yīng)時對其進行分析。 使用Kinesis,可以分析視頻,音頻,應(yīng)用程序日志,網(wǎng)站點擊流和IoT遙測。 Amazon Kinesis具有高度的可擴展性,可以處理幾乎任何數(shù)量的流數(shù)據(jù)并處理來自成千上萬個來源的數(shù)據(jù),而幾乎沒有延遲。 Kinesis每小時可以處理來自各種數(shù)據(jù)流的TB級數(shù)據(jù)。 Kinesis保持消息的順序。

運動整合

Amazon Kinesis最適合用于用例,例如收集和分析溫度,濕度傳感器等傳感器數(shù)據(jù)。它還可以可靠地吸收所有市場數(shù)據(jù)并建立實時分析。

5.1運動學(xué)限制

  • 數(shù)據(jù)Blob大小限制為1 MB
  • 默認情況下,消息會在24小時后從信息流中刪除,但最多可以延長7天

6.亞馬遜Pinpoint

Amazon Pinpoint是托管在Amazon Web Services上的完全托管的營銷和分析服務(wù)。 使用Amazon Pinpoint營銷團隊可以獲取見識以加強活動并確定如何與客戶群進行有效溝通。 使用Amazon Pinpoint,營銷人員可以定義活動計劃,以向應(yīng)用程序最終用戶發(fā)送定向消息。

Amazon Pinpoint可以與移動和Web應(yīng)用程序集成,以深入了解客戶如何與您的應(yīng)用程序進行交互。 它還有助于發(fā)送有針對性的電子郵件,SMS,推送通知和語音消息,還可以跟蹤客戶如何響應(yīng)您的消息,即已發(fā)送,打開或單擊的消息數(shù)。 這對于發(fā)送促銷或教育內(nèi)容以吸引和留住用戶很有用。

Amazon Pinpoint有用的一些用例是:

  • 匯總所有營銷活動的數(shù)據(jù)
  • 提供有關(guān)您安裝了應(yīng)用程序的設(shè)備的信息的人口統(tǒng)計圖
  • 有關(guān)用戶參與度和廣告系列指標的分析
  • 有關(guān)應(yīng)用程序使用時間和客戶保留的分析
  • 收入圖表,提供有關(guān)客戶購買及其產(chǎn)生的收入的詳細信息
  • 用戶身份驗證分析

7.亞馬遜物聯(lián)網(wǎng)經(jīng)紀人

AWS IoT消息代理是一項托管的高吞吐量發(fā)布者/訂閱者代理服務(wù),可用于向AWS IoT收發(fā)消息。 客戶端將有關(guān)主題的消息發(fā)送到AWS IoT。 該消息代理將消息發(fā)送給該主題的所有注冊客戶端。 使用AWS IoT,可以以低延遲安全地傳輸所有IoT設(shè)備之間的消息。 根據(jù)消息量,可以自動縮放消息代理。 AWS IoT支持一對一消息傳遞或百萬廣播通知系統(tǒng)。 AWS文檔中列出了更多AWS IoT功能。

翻譯自: https://www.javacodegeeks.com/2019/03/aws-messaging-services-choosing-right-service.html

總結(jié)

以上是生活随笔為你收集整理的AWS Messaging Services:选择合适的服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。